參數資料
型號: M306H3MC-XXXFP
元件分類: 微控制器/微處理器
英文描述: 16-BIT, MROM, 10 MHz, MICROCONTROLLER, PQFP116
封裝: 20 X 20 MM, 0.65 MM PITCH, PLASTIC, LQFP-116
文件頁數: 98/287頁
文件大?。?/td> 2642K
代理商: M306H3MC-XXXFP
第1頁第2頁第3頁第4頁第5頁第6頁第7頁第8頁第9頁第10頁第11頁第12頁第13頁第14頁第15頁第16頁第17頁第18頁第19頁第20頁第21頁第22頁第23頁第24頁第25頁第26頁第27頁第28頁第29頁第30頁第31頁第32頁第33頁第34頁第35頁第36頁第37頁第38頁第39頁第40頁第41頁第42頁第43頁第44頁第45頁第46頁第47頁第48頁第49頁第50頁第51頁第52頁第53頁第54頁第55頁第56頁第57頁第58頁第59頁第60頁第61頁第62頁第63頁第64頁第65頁第66頁第67頁第68頁第69頁第70頁第71頁第72頁第73頁第74頁第75頁第76頁第77頁第78頁第79頁第80頁第81頁第82頁第83頁第84頁第85頁第86頁第87頁第88頁第89頁第90頁第91頁第92頁第93頁第94頁第95頁第96頁第97頁當前第98頁第99頁第100頁第101頁第102頁第103頁第104頁第105頁第106頁第107頁第108頁第109頁第110頁第111頁第112頁第113頁第114頁第115頁第116頁第117頁第118頁第119頁第120頁第121頁第122頁第123頁第124頁第125頁第126頁第127頁第128頁第129頁第130頁第131頁第132頁第133頁第134頁第135頁第136頁第137頁第138頁第139頁第140頁第141頁第142頁第143頁第144頁第145頁第146頁第147頁第148頁第149頁第150頁第151頁第152頁第153頁第154頁第155頁第156頁第157頁第158頁第159頁第160頁第161頁第162頁第163頁第164頁第165頁第166頁第167頁第168頁第169頁第170頁第171頁第172頁第173頁第174頁第175頁第176頁第177頁第178頁第179頁第180頁第181頁第182頁第183頁第184頁第185頁第186頁第187頁第188頁第189頁第190頁第191頁第192頁第193頁第194頁第195頁第196頁第197頁第198頁第199頁第200頁第201頁第202頁第203頁第204頁第205頁第206頁第207頁第208頁第209頁第210頁第211頁第212頁第213頁第214頁第215頁第216頁第217頁第218頁第219頁第220頁第221頁第222頁第223頁第224頁第225頁第226頁第227頁第228頁第229頁第230頁第231頁第232頁第233頁第234頁第235頁第236頁第237頁第238頁第239頁第240頁第241頁第242頁第243頁第244頁第245頁第246頁第247頁第248頁第249頁第250頁第251頁第252頁第253頁第254頁第255頁第256頁第257頁第258頁第259頁第260頁第261頁第262頁第263頁第264頁第265頁第266頁第267頁第268頁第269頁第270頁第271頁第272頁第273頁第274頁第275頁第276頁第277頁第278頁第279頁第280頁第281頁第282頁第283頁第284頁第285頁第286頁第287頁
Rev.1.00
2004.03.23
page 185 of 320
M306H3MC-XXXFP/FCFP
Figure 2.14.8 Example of program
;
Equations (Constant definition)
;
_CRC_ADRS
.equ
00212h
; SFR address of CRC register address control register
_CRC_DATA
.equ
00214h
; SFR address of CRC register data control register
SLICE_WORD_NUM
.equ
17
; Code data length (in nuits of word)
;
Macro definition
;
_wait
.macro
nop
.endm
;
CRC operation routine
;
;--------- A setup of a generator polinomial
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
mov.w
#0008H
, _CRC_ADRS
; Set up of the header address of the generator polinomial registers.
_wait
; Wait
mov.w
0000110000100011B
, _CRC_DATA
; Set up of the 82th to 66th generator polinomial coefficient ( x^77 +x~76 +x^71 +x^67 +x^66)
mov.w
0000000001000100B
, _CRC_DATA
; Set up of the 65th to 50th generator polinomial coefficient (+x^56 +x^52)
mov.w
0100000001000101B
, _CRC_DATA
; Set up of the 49th to 34th generator polinomial coefficient (+x^48 +x^40 +x^36 +x^34)
mov.w
0000000001010001B
, _CRC_DATA
; Set up of the 33th to 18th generator polinomial coefficient (+x^24 +x^22 +x^18)
mov.w
0000000100000100B
, _CRC_DATA
; Set up of the 17th to 2nd generator polinomial coefficient (+x^10 +x^4)
mov.w
0100000000000000B
, _CRC_DATA
; Set up of the 1st to 0th generator polinomial coefficient (+x^0),
no division of the shift clock and LSB first.
;------ Writing of code data ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
mov.w
#9010H
, _CRC_ADRS
; Set up of CRCON=1, CRCCHANGE=0, CRCLOOP=10H, Increment=ON, and CRC address=00H.
mov.w
#0000H
, _CRC_ADRS
; Initialization of CRC register address control register
mov.w
#0000H
, A0
L18:
; Branch label
cmp.w
#SLICE_WORD_NUM*2
, A0
; Comparison of the loop variable
; Initialization of a loop variable (A0)
jgeu
L20
; Go to L20 if writing code data is finished.
lde.w
_CrcCodeData[A0]
, _CRC_DATA
; Writing code data to the code data shift register.
add.w
#0002H
,A0
; Increment of the address storing code data.
jmp
L18
; Return to the head of this loop.
L20:
; Branch label
;--------- Dummy shift ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
; After finishing writing 272-bit code data,
; shift a bit for dummy surely in error correction mode.
; Specifying 1-bit is set up by CRCLOOP=01H.
mov.w
#8100H
, _CRC_ADRS
; Set up of CRCON=1, CRCCHANGE=0, CRCLOOP=10H, Increment=OFF, and CRC address=00H.
_wait
; Wait
mov.w
#0000H
, _CRC_DATA
; Writing data to the code data shift register for dummy shift.
;--------- Error detection -----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
; Since the address automatic increment in dummy shift (Increment=OFF), set CRC address=01H here.
; When accessing other CRC registers, the processing shown in the following two lines is necessary.
;
mov.w
#9001H
, _CRC_ADRS
; Set up of CRCON=1, CRCCHANGE=0, CRCLOOP=10H, Incremet=OFF and CRC address=01H.
;
_wait
; Wait
mov.w
_CRC_DATA
, R0
; Read of CRC error detection register.
cmp.w
#0000H
, R0
; Judgement of CRC error.
jeq
L16
; In the case of R0=0, branch to L16 since CRC error has not occurred (CRC error correction is skipped).
;--------- Error correction ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
mov.w
#0D010H
, _CRC_ADRS
; Set up of CRCON=1, CRCCHANGE=1, CRCLOOP=10H, Increment=ON and CRC address=00H.
_wait
; Wait
mov.w
#0000H
, A0
; Initialization of a loop variable (A0)
L22:
; Branch label
cmp.w
#SLICE_WORD_NUB
, A0
; Comparison of the loop variable
jgeu
L24
; Go to L24 if correction of error data is finished.
lde.w
_CrcCodeData[A0]
, _CRC_DATA
; Writing code data to the code data shift register.
jsr
_waitlong
; Wait for finish of error correction.
mov.w
_CRC_DATA
, _CrcCodeData[A0]
; Read of error correction data in the address storing code data.
add.w
#0002H
, A0
; Increment of the address storing code data.
jmp
L22
; Return to the head of this loop.
L24:
; Branch label
;------- The check of error correction data--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
mov.w
#8111H
, _CRC_ADRS
; Set up of CRCON=1, CRCCHANGE=0, CRCLOOP=10H, Increment=ON and CRC address=00H
_wait
; Wait
mov.w
_CRC_DATA
, R0
; Error check after error correction. R0=000H if correction is performed.
L16:
;
; The function sample for weight for error correction
;
.align
.glb
_waitlong
_waitlong:
; Function label
rts
相關PDF資料
PDF描述
M306H7MC-XXXFP 16-BIT, MROM, 16 MHz, MICROCONTROLLER, PQFP100
M306H7MG-XXXFP 16-BIT, MROM, 16 MHz, MICROCONTROLLER, PQFP100
M306H7FGFP 16-BIT, FLASH, 16 MHz, MICROCONTROLLER, PQFP100
M306K7F8LRP 16-BIT, FLASH, 8 MHz, MICROCONTROLLER, PQFP144
M306K9FCLRP 16-BIT, FLASH, 16 MHz, MICROCONTROLLER, PQFP144
相關代理商/技術參數
參數描述
M306H5FGFP 制造商:RENESAS 制造商全稱:Renesas Technology Corp 功能描述:SNGLE-CHIP 16-BIT CMOS MICROCOMPUTER with DATA ACQUISITION CONTROLLER
M306H5FGFP#U0 功能描述:IC M16C/6H MCU FLASH 116LQFP RoHS:是 類別:集成電路 (IC) >> 嵌入式 - 微控制器, 系列:M16C™ M16C/60 標準包裝:160 系列:S08 核心處理器:S08 芯體尺寸:8-位 速度:40MHz 連通性:I²C,LIN,SCI,SPI 外圍設備:LCD,LVD,POR,PWM,WDT 輸入/輸出數:53 程序存儲器容量:32KB(32K x 8) 程序存儲器類型:閃存 EEPROM 大小:- RAM 容量:1.9K x 8 電壓 - 電源 (Vcc/Vdd):2.7 V ~ 5.5 V 數據轉換器:A/D 12x12b 振蕩器型:內部 工作溫度:-40°C ~ 105°C 封裝/外殼:64-LQFP 包裝:托盤
M306H5MC-XXXFP 制造商:RENESAS 制造商全稱:Renesas Technology Corp 功能描述:SNGLE-CHIP 16-BIT CMOS MICROCOMPUTER with DATA ACQUISITION CONTROLLER
M306H5MG-XXXFP 制造商:RENESAS 制造商全稱:Renesas Technology Corp 功能描述:SNGLE-CHIP 16-BIT CMOS MICROCOMPUTER with DATA ACQUISITION CONTROLLER
M306H7FGFP 制造商:RENESAS 制造商全稱:Renesas Technology Corp 功能描述:SINGLE-CHIP 16-BIT CMOS MICROCOMPUTER with DATA ACQUISITION CONTROLLER