欢迎访问ic37.com |
会员登录 免费注册
发布采购

SI1002 参数 Datasheet PDF下载

SI1002图片预览
型号: SI1002
PDF下载: 下载PDF文件 查看货源
内容描述: 超低功耗, 64/32 KB , 10位ADC, MCU ,集成了240-960兆赫的EZRadioPRO收发器 [Ultra Low Power, 64/32 kB, 10-Bit ADC MCU with Integrated 240-960 MHz EZRadioPRO Transceiver]
分类和应用:
文件页数/大小: 376 页 / 2369 K
品牌: SILABS [ SILICON LABORATORIES ]
 浏览型号SI1002的Datasheet PDF文件第154页浏览型号SI1002的Datasheet PDF文件第155页浏览型号SI1002的Datasheet PDF文件第156页浏览型号SI1002的Datasheet PDF文件第157页浏览型号SI1002的Datasheet PDF文件第159页浏览型号SI1002的Datasheet PDF文件第160页浏览型号SI1002的Datasheet PDF文件第161页浏览型号SI1002的Datasheet PDF文件第162页  
Si1000/1/2/3/4/5
15. Cyclic Redundancy Check Unit (CRC0)
Si1000/1/2/3/4/5 devices include a cyclic redundancy check unit (CRC0) that can perform a CRC using a
16-bit or 32-bit polynomial. CRC0 accepts a stream of 8-bit data written to the CRC0IN register. CRC0
posts the 16-bit or 32-bit result to an internal register. The internal result register may be accessed indi-
rectly using the CRC0PNT bits and CRC0DAT register, as shown in Figure 15.1. CRC0 also has a bit
reverse register for quick data manipulation.
CRC0IN
8
8
Automatic CRC
Controller
Flash
Memory
CRC0CN
CRC0SEL
CRC0INIT
CRC0VAL
CRC0PNT1
CRC0PNT0
CRC0FLIP
Write
CRC0AUTO
CRC Engine
32
RESULT
8
8
8
4 to 1 MUX
8
CRC0DAT
8
CRC0CNT
CRC0FLIP
Read
Figure 15.1. CRC0 Block Diagram
15.1. CRC Algorithm
The Si1000/1/2/3/4/5 CRC unit generates a CRC result equivalent to the following algorithm:
1. XOR the input with the most-significant bits of the current CRC result. If this is the first iteration of the
CRC unit, the current CRC result will be the set initial value
(0x00000000 or 0xFFFFFFFF).
2a. If the MSB of the CRC result is set, shift the CRC result and XOR the result with the selected
polynomial.
2b. If the MSB of the CRC result is not set, shift the CRC result.
Repeat Steps 2a/2b for the number of input bits (8). The algorithm is also described in the following exam-
ple.
The 16-bit Si1000/1/2/3/4/5 CRC algorithm can be described by the following code:
unsigned short UpdateCRC (unsigned short CRC_acc, unsigned char CRC_input)
{
unsigned char i;
// loop counter
#define POLY 0x1021
158
Rev. 1.0