NUC1xx系列是32位的內嵌ARM Cortex-M0核的微控制器 ,適用于工業(yè)控制和需要豐富的通信接口的應用領(lǐng)域。ARM Cortex-M0 內核最高運行50MHz。寬電壓工作范圍 由2.5V 至 5.5V。1.ARM Cortex-M0 內核
Cortex-M0處理器是32位多級可配置的RISC處理器。它有AMBA AHB-Lite接口和嵌套向量中斷控制器(NVIC),具有可選的硬件調試功能,可以執行Thumb指令,并與其它Cortex-M系列兼容。支持兩種模式:Thread模式和Handler模式;異常時(shí),系統進(jìn)入Handler模式,復位時(shí),系統進(jìn)入Thread模式。
1)基本特性:
特征:系統支持小端(little-endian)數據訪(fǎng)問(wèn),提供單指令32-bit 硬件乘法器。
NVIC:提供32個(gè)外部中斷,具有4級中斷優(yōu)先級。有專(zhuān)用的不可屏蔽中斷NMI。支持電平和脈沖中斷觸發(fā)。中斷喚醒控制器WIC,支持極低功耗休眠模式。
調試:提供4個(gè)硬件斷點(diǎn),2個(gè)觀(guān)察點(diǎn),用于非侵入式代碼分析的程序計數采樣寄存器,單步向量捕獲能力。
總線(xiàn)接口:提供簡(jiǎn)單的集成到所有系統外設和存儲器的單一32位AMBA-3 ABH-Lite系統接口;支持DAP(Debug Access Port)的單一32位的從端口。
2)外部總線(xiàn)接口EBI
為節省外部設備與芯片的連接線(xiàn),EBI支持地址總線(xiàn)與設備總線(xiàn)多路復用,且地址鎖存使能信號ALE支持地址和數據周期的差別。
支持最大外部設備64KB(8位數據寬度)/128KB(16位數據寬度),支持可變的數據訪(fǎng)問(wèn)時(shí)間(tACC)、地址鎖存使能時(shí)間(tALE)和地址保持時(shí)間(tAHD)。
EBI地址在0x6000 0000至0x6001 FFFF,總共內存空間為128KB,當系統申請的地址在EBI的內存空間,相應的EBI片選信號有效,EBI狀態(tài)機工作。
芯片內的所有EBI信號通過(guò)MCLK同步,MCLK可以設置EBICON中的MCLKDIVN分頻HCLK/32
2.系統管理器
1)系統復位
復位源包括:上電復位、復位腳(/RESET)上有低電平、看門(mén)狗復位、低壓復位、欠壓檢測復位、Coretex-M0 單片機復位、系統復位。
系統復位和上電復位使整個(gè)芯片復位,包括外設。
2)系統電源
該器件的電源分為3類(lèi):a.由AVDD和AVSS提供的模擬電源,為模擬部分工作提供電壓;b.由VDD和VSS提供的固定的2.5V的數字電源,用于數字操作和I/O引腳的內部穩壓電源;c.VBUS提供給USB的電源,用于USB模塊傳輸操作。
內部電壓調節器輸出LDO和VDD33,需要在相應的引腳上外接電容。
3)系統內存映射
NUC1xx 提供4G字節的尋址空間,NUC1xx系列僅支持小端數據格式,ROM、SRAM和控制寄存器統一編址。
4)系統定時(shí)器
Cortex-M0 包含一個(gè)24位系統定時(shí)器SysTick,使能后,定時(shí)器從SysTick 當前寄存器(SYST_CVR)的值向下計數到0,下一個(gè)時(shí)鐘邊緣,重新加載寄存器(SYST_RVR) 的值。當計數器減到0時(shí),標志位COUNTFLAG置位,在讀數時(shí),清COUNTFLAG標志位。
5)嵌套向量中斷控制器 (NVIC)
Cortex-M0 提供中斷控制器,用于總體管理異常,NVIC和處理器內核緊密相連。
NVIC結構支持32(IRQ[31:0])4級離散中斷優(yōu)先級,當接受任何中斷時(shí),ISR的開(kāi)始地址可從內存的向量表中取得,當開(kāi)始地址取得時(shí),NVIC將自動(dòng)保存處理狀態(tài)到棧中,包括以下寄存器“PC, PSR, LR, R0~R3, R12” 的值. 在ISR結束時(shí), NVIC 將從棧中恢復相關(guān)寄存器的值,進(jìn)行正常操作,因此花費少量時(shí)處理中斷請求。向量表的基地址為0x00000000. 向量表包括復位后棧的初始值,所有異常處理器的入口地址. 向量號表示處理異常的先后次序。
6)系統控制寄存器
系統控制寄存器控制了Cortex?-M0的狀態(tài)和操作模式,包括CPUID、Cortex?-M0中斷優(yōu)先級和Cortex?-M0電源管理。
3.時(shí)鐘控制器
時(shí)鐘控制器為芯片提供時(shí)鐘源. 包括AMBA接口模塊和所有外圍設備時(shí)鐘,時(shí)鐘發(fā)生器由如下5個(gè)時(shí)鐘源組成:一個(gè)外部 32KHz 晶振、一個(gè)外部 12MHz 晶振、一個(gè)可編程的 PLL FOUT(PLL 由 12M 和 22M組成)、一個(gè)內部 22MHz RC 振蕩器、一個(gè)內部 10KHz 振蕩器。
時(shí)鐘源切換取決于寄存器HCLK_S(CLKSEL0[2:0]):
Cortex?-M0內核的SysTick時(shí)鐘源可以選擇CPU時(shí)鐘或外部時(shí)鐘(SYST_CSR[2]),如果使用外部時(shí)鐘,SysTick時(shí)鐘(STCLK)有5個(gè)時(shí)鐘源,
該器件包含分頻器,由16級2分頻移位寄存器組成. 因此有16種分頻選擇從 Fin/21 到 Fin/216 ,其中 Fin 為輸入到時(shí)鐘分頻器的時(shí)鐘頻率.

4.存儲器
本文引用地址:
http://dyxdggzs.com/article/201611/317154.htm1)程序存儲器
具有32K/64K/128K字節的片上FLASH ROM,用于存儲程序代碼(APROM),4kB在系統編程(ISP)加載程序內存(LDROM),用于存儲ISP引導代碼,用戶(hù)可以通過(guò)ISP/IAP更新FLASH中的程序,用戶(hù)設置Config0以選擇從AP_ROM或LD_ROM開(kāi)始。對于64/32K字節的器件,NUC1XX系列為用戶(hù)提供4k字節的數據FLASH用于存儲一些應用所需的數據;對于128k字節的器件,數據flash與128K的程序內存共享,其開(kāi)始地址是可配置的,由用戶(hù)在Config1中定義.用戶(hù)可以根據其應用的需要來(lái)定義數據FLASH的大小。數據FLASH的基地址由DFBADR定義
2)數據存儲器
4K/8K/16K字節內建SRAM,支持9通道PDMA用于SRAM和周邊設備的自動(dòng)數據傳輸。
3)PDMA控制器
NUC100/NUC120系列包括直接存儲器訪(fǎng)問(wèn)(PDMA)控制器,用于A(yíng)PB和存儲器間的數據交換,具有 9 路DMA (外設-存儲器 或存儲器 -外設 或存儲器-存儲器) 通道,每路 PDMA 通道 (PDMA CH0~CH8), 在外設 APB IP和存儲器間有一個(gè)字的數據緩沖器,每個(gè)通道可支持一個(gè)單項傳輸。
PDMA 運行通過(guò)軟件輪流檢測或接收到內部PDMA 中斷, CPU可以識別PDMA運作的完成,PDMA 控制器可增加源和目的地址。對于源和目的地址而言,PDMA 控制器具有兩種模式:increased和fixed模式。每個(gè)PDMA模擬通道沒(méi)有先設定,因此用戶(hù)需要通過(guò)設定PDMA_PDSSR0和 PDMA_PDSSR1先行配置每路的PDMA 通道。軟件需使能DMA通道PDMA[PDMACEN] 并且寫(xiě)有效的源地址到PDMA_SARx寄存器、目的地址到PDMA_DSABx寄存器、傳輸計算數到PDMA_BCRx寄存器、以及設置DMA_CSRx PDMA[Trig_EN]觸發(fā)。PDMA將繼續傳輸直到PDMA_CBCRx為0。PDMA (外設-到-存儲器、存儲器-到-外設) 模式,DMA可以在外設APB IP (ex:UART,SPI,ADC….) 和Memory將傳遞數據。
硬件通道優(yōu)先級:DMA通道0有最高優(yōu)先級,通道n有最低優(yōu)先級。
Low Density系列僅支持1個(gè)PDMA通道:
5.通用I/O
有80個(gè)通用I/O引腳,可以和其他功能引腳共享。80個(gè)引腳分配在GPIOA, GPIOB, GPIOC, GPIOD與GPIOE五個(gè)口上,每個(gè)口最多16個(gè)引腳。每個(gè)引腳都是獨立的,都有相應的寄存器來(lái)控制引腳模式與數據。I/O引腳上的I/O類(lèi)型可由軟件獨立地配置為輸入,輸出,開(kāi)漏或準雙端模式.所有的I/O引腳默認處于準雙端模式。
可選的TTL/Schmitt觸發(fā)輸入,支持大電流驅動(dòng)/灌入I/O模式。
1)輸入模式
設置GPIOx_OMD(PMDn[1:0])為00b,GPIOx port[n]為輸入模式,I/O引腳為三態(tài)(高阻),沒(méi)有輸出驅動(dòng)能力。GPIOx_PIN的值反映相當端口的狀態(tài)。
2)推挽輸出模式
設置 GPIOx_OMD(PMDn[1:0]) 為 01b,GPIOx port [n] 為輸入模式,I/O支持數字輸出功能,有source/sink電流能力. GPIO_DOUT 相應位的值被送到相應引腳上。
3)開(kāi)漏輸出模式
設置 GPIOx_OMD(PMDn[1:0]) 為 10b,GPIOx port [n]為開(kāi)漏模式,I/O支持數字輸出功能,僅有灌電流能力,需要一個(gè)外加上拉電阻驅動(dòng)到高電平。
4)準雙端模式
設置GPIOx_OMD(PMDn[1:0]) 為 11b,GPIOx port [n] 為準雙端模式,I/O同時(shí)支持數字輸出和輸入功能,但source電流僅達數百u(mài)A. 要實(shí)現數字輸入,需要先將GPIOx_DOUT 相應位置1, 準雙端輸出是80C51及其派生產(chǎn)品所共有的模式。準雙端模式的source 電流能力僅有200uA到30uA(相應VDD的電壓從5.0V到2.5V)

6.中斷系統 NUC1xx 系列支持下表所列的異常模式. 與所有中斷一樣,軟件可以對其中一些中斷設置4級優(yōu)先級. 最高優(yōu)先級為“0”,最低優(yōu)先級為“3”,所有用戶(hù)可配置的優(yōu)先級的默認值為“0”. 注意:優(yōu)先級為“0”在整個(gè)系統中為第4優(yōu)先級,排在“Reset”, “NMI” 與“Hard Fault”之后。
中斷模式對應向量號為16-47,共32個(gè)中斷。
響應中斷時(shí),處理器自動(dòng)從向量表中取出ISR的起始地址,對于A(yíng)RMv6-M, 向量表的基地址為0x00000000。向量表包括復位后棧的初始值,所有異常處理器的入口地址。
7.定時(shí)器 定時(shí)器模塊包含4組32位定時(shí)器(包含一個(gè)8位預分頻計數器,一個(gè)24位向上計數器),TIMER0~TIMER3 (TIMER0, TIMER1位于 AHB1 ,TIMER2 和 TIMER3 位于 AHB2);各通道有獨立的時(shí)鐘源,每個(gè)通道有5個(gè)時(shí)鐘源選項。通過(guò)TDR(定時(shí)器數據寄存器)可讀取內部24位向上計數器值
時(shí)間溢出周期= (定時(shí)器時(shí)鐘周期) * (8位預分頻值 + 1) * (24位 TCMP)
定時(shí)器控制器提供one-shot(單次觸發(fā)模式)、period(周期觸發(fā)模式)、toggle(可編程時(shí)鐘輸出)、持續計
數模式和事件計數器模式;
1)單次觸發(fā)模式
一旦定時(shí)器計數器的值達到TCMPR的值,且IE置1,則定時(shí)器中斷位置位,產(chǎn)生中斷信號并送到NVIC通知CPU,表明定時(shí)器發(fā)生溢出,定時(shí)器計數操作停止,該比較的操作僅進(jìn)行一次。
2)周期觸發(fā)模式
一旦定時(shí)器計數器的值達到TCMPR的值,定時(shí)器計數器的值返回計數初值并再次計數,如果IE置1,則定時(shí)器中斷位置位,產(chǎn)生中斷信號并送到NVIC通知CPU。
3)可編程時(shí)鐘輸出模式
一旦定時(shí)器計數器的值與TCMPR匹配,且IE置1,則定時(shí)器中斷標志位置位,產(chǎn)生中斷信號并送到NVIC通知CPU,相應toggle輸出信號置1,定時(shí)器計數器的值返回到計數初值,定時(shí)器計數器重新計數,如果中斷標志被軟件清除,一旦定時(shí)器計數器的值再次與TCMPR匹配,則定時(shí)器中斷標志為再次置位,產(chǎn)生中斷信號并送到NVIC通知CPU,相應toggle輸出信號置0;如此往復,產(chǎn)生占空比為50%的信號輸出。
4)持續計數模式
產(chǎn)生中斷信號的產(chǎn)生取決于TDR==TCMPR。定時(shí)器計數器的值與TCMPR匹配后,定時(shí)器計數器繼續計數,而不返回計數初值,用戶(hù)可以通過(guò)不斷改變TCMPR值來(lái)實(shí)現計數或定時(shí)功能。
5)事件計數器
定時(shí)器計數器的時(shí)鐘源TMRx_CLK必須設置為HCLK,可以通過(guò)設置TEXCONx[7]來(lái)使能或禁止TM0-TM3防抖動(dòng)功能,以及設置TEXCONx[0]來(lái)設定TM0-TM3上升沿或下降沿計數。如果禁用計數防抖動(dòng),事件計數源頻率頻率必須小于1/3HCLK,如果使能計數防抖動(dòng),事件計數源頻率必須小于1/8HCLK,
8.串行口
MCU提供3個(gè)UART通道,UART0支持高速,UART1~2支持普通速度,另外UART0與UART1支持流控制,UART0與UART1可以采用DMA控制器。
通用異步收/發(fā)器(UART) 在從外設收到數據的時(shí)候執行串到并的轉換,在從CPU收到數據的時(shí)候執行并到串的轉換。該串口同時(shí)支持LIN主機模式和 IrDA SIR 功能。有7 種類(lèi)型的中斷:發(fā)送FIFO 空中斷(Int_THRE)、接收極限到達中斷(Int_RDA)、線(xiàn)狀態(tài)中斷 (overrun error 或者校驗錯誤或者framing error或者break 中斷) (Int_RLS)、超時(shí)中斷(Int_Tout)、MODEM 狀態(tài)中斷(Int_Modem) 、喚醒狀態(tài)中斷 (Int_WakeUp)和LIN 接收停止偵測中斷。
UART0 接口控制器一個(gè)內嵌64-byte 發(fā)送FIFO (TX_FIFO) 和 64-byte 接收 FIFO (RX_FIFO) 來(lái)降低CPU的中斷數量;UART1~2內嵌 16-byte 發(fā)送FIFO (TX_FIFO) 和16-byte (每個(gè)字節加3比特的錯誤數據) 接收FIFO (RX_FIFO) 來(lái)降低CPU的中斷數量,UART包括一個(gè)可編程的波特率發(fā)生器,它可以將輸入晶振除以一個(gè)除數來(lái)得到收發(fā)器需要的時(shí)鐘. 波特率公式是 Baud Rate = UART_CLK / M * [BRD + 2]. 其中M和BRD在波特率分頻寄存器UA_BAUD中定義。
UART0與UART1 控制器用 2 種low-level 信號, /CTS (clear-to-send)和 /RTS (request-to-send)支持自動(dòng)流程控制功能。
UART 控制器提供 串行 IrDA (SIR, 串行紅外) 功能 (用戶(hù)需置位 UA_FUN_SEL[IrDA_EN] 使能 IrDA 功能),SIR 定義短程紅外異步串行傳輸模式 1 開(kāi)始位, 8 數據位, 和1 停止位. 最大數據速率 為 115.2 Kbps (半雙工). IrDA SIR 包括 IrDA SIR 編碼/解碼協(xié)議。
UART 控制器具有LIN(局域網(wǎng)) 功能. LIN 模式提供設定LIN_EN bit 位 UA_FUN_SEL 寄存器. 在LIN 模式, 1 開(kāi)始位 8 數據位和1 停止位相一致,同標準LIN 相同。
串口特性:可編程為5,6,7,8位的數據位,可編程奇偶校驗或無(wú)校驗,可編程為1,1.5,2位的停止位,
UART支持RS-485 9位模式功能,設置UA_FUN_SEL選擇RS485模式;控制器可以配置成可尋址的從機模式,RS485發(fā)送可通過(guò)設置優(yōu)先級(bit9)為1標志地址特性,對于數據特性,標志優(yōu)先級為0;設置寄存器UA_LCR控制第9位(PBE,EPE和SPE置位,第9位發(fā)送0;PBE,SPE置位,EPE清零,第9位發(fā)送1)。
RS485自動(dòng)地址識別模式:接收器在檢測到地址字節(bit9 =1),并且地址字節數據與UA_RS_485[ADDR_MATCH]的值相匹配之前將忽略所有數據,地址字節數據將存儲在RX_FIFO,所有接收字節數據將被接收并存儲于RX_FIFO,直到地址字節或數據字節與UA_RS_485[ADDR_MATCH]的值不匹配。
RS485普通多點(diǎn)操作模式:流設置UART_FCR[RS485_RX_DIS]使能UA_RS_485[RS485_NMM],接收器會(huì )忽略數據,直到檢測到地址字節(bit 9=1)并且地址字節數據存儲到RX_FIFO;流禁止UART_FCR[RS485_RX_DIS],接收器將接收任何數據。
RS485編程流程:1)設置寄存器UA_FUN_SEL的FUN_SEL位選擇RS485模式;
2)設置寄存器UA_FCR中的RX_DIS位使能或禁止RS485接收器;
3)設置RS_485_NMM模式或RS_485_AAD模式;
4)如果選擇RS_485_AAD模式,AADR_MATCH設置成自動(dòng)地址匹配值;
5)若為自動(dòng)方向模式,設置R2_485_AUD;
9.實(shí)時(shí)時(shí)鐘 時(shí)鐘源由外部32.768KHz晶振提供,管腳為X32I 及X32O 或者外接32.768KHz 頻率的信號源。RTC支持時(shí)間格式 (秒,分,時(shí))寄存器(TLR)以及日歷格式(日,月,年)寄存器(CLR)。數據格式由BCD格式存取。模塊支持鬧鐘功能,(TAR)寄存器用于指示時(shí)間鬧鈴,(CAR)用于指示日期鬧鈴。
RTC 模塊支持時(shí)間記步及鬧鐘中斷,通過(guò)設定TTR.TTR[2:0],中斷提供8級選擇1/128, 1/64, 1/32, 1/16, 1/8, 1/4, 1/2 及1 秒。當 RTC 計數器內的值TLR 和CLR 與TAR和CAR相當時(shí),會(huì )引發(fā)中斷標志 (RIIR.AIF)。
基于RTC時(shí)鐘與系統時(shí)鐘采用不同的模塊,用戶(hù)對RTC寄存器寫(xiě)入后,必須等待2個(gè)RTC時(shí)鐘周期(60us)后,寄存器內的值才會(huì )被更新。寄存器AER 位 15~0 作為RTC允許讀/寫(xiě)密碼,用于避免掉電時(shí)對RTC造成的誤寫(xiě),要訪(fǎng)問(wèn)RTC的寄存器AER,必須寫(xiě)入0xa965以打開(kāi)訪(fǎng)問(wèn)限制,讀寫(xiě)使能后,將會(huì )有效512個(gè)RTC時(shí)鐘,之后自動(dòng)關(guān)閉。
10.PWM發(fā)生器和捕捉定時(shí)器
1)PWM發(fā)生器
包含4組PWM發(fā)生器,可配置為8個(gè)獨立的PWM輸出,PWM0~PWM7,或4組互補的PWM對,帶4個(gè)可編程的死區發(fā)生器。4組PWM發(fā)生器提供8個(gè)獨立的PWM中斷標志,當PWM向下計數周期達到零時(shí)觸發(fā)中斷。PWM發(fā)生器可以定義為單觸發(fā)模式或連續輸出PWM波形。
每組PWM發(fā)生器帶有8位預分頻,一個(gè)時(shí)鐘除頻提供5級時(shí)鐘源(1, 1/2, 1/4, 1/8, 1/16),兩個(gè)PWM定時(shí)器包括2個(gè)時(shí)鐘選擇,兩個(gè)16位PWM向下計數計數器用于PWM period 周期控制,兩個(gè)16位比較器用于PWM duty 周期控制以及死區發(fā)生。
當PCR.DZEN01置位, PWM0 與 PWM1形成互補的PWM周期,這一對PWM的周期、占空比和死區時(shí)間由PWM0定時(shí)器和死區發(fā)生器0決定;其他PWM互補對類(lèi)似。
當16位向下計數計數器達到0時(shí),中斷請求產(chǎn)生。如果PWM定時(shí)器被定義為連續模式,當向下計數器達到0時(shí),會(huì )自動(dòng)重新導入設定值(CNRx)并從新開(kāi)始運行下一個(gè)周期。如果定時(shí)器設為單觸發(fā)模式,向下計數器停止計數,并產(chǎn)生中斷請求。比較器數據用于設定脈寬,計數器控制邏輯在計數器計數到比較值時(shí)將PWM輸出變高。
PWM period 和duty 控制由向下計數的PWM寄存器(CNR)以及PWM比較寄存器(CMR)控制。占空比 = (CMR+1)/(CNR+1).
PWM 頻率 = PWMxy_CLK/(prescale+1)*(clock divider)/(CNR+1); xy代表01, 23, 45 或 67, 取決于所選擇的PWM通道.
CMR >= 計數值: PWM 輸出為高,反之PWM輸出低;PWM低脈寬= (CNR-CMR) ; PWM高脈寬=(CMR+1)
PWM定時(shí)器具有雙緩存功能。寄存器預先設定的值,在一個(gè)周期完成后,可以自動(dòng)重載。PWM計數器值寫(xiě)入CNR0~7,并可從PDR0~7內讀出;PWM 控制寄存器(PCR) 的CH0MOD 位定義PWM0是自動(dòng)重載模式或是單觸發(fā)模式。當PWM計數器計到0,MCU自動(dòng)重載CNR0 值到PWM 計數器。雙緩存允許CMR字當前運行時(shí)改寫(xiě),下一個(gè)周期內值被導入運行。
PWM死區發(fā)生器,用于保護器件電源(這一特性用于在開(kāi)關(guān)設備的斷開(kāi)和另一個(gè)開(kāi)關(guān)設備的閉合之間插入一個(gè)時(shí)間缺口,使它們不會(huì )處于同時(shí)閉合的狀態(tài))。該功能產(chǎn)生可編程的延遲時(shí)間到PWM上升沿輸出,用戶(hù)通過(guò)編程PPRx.DZI確定死區間隔。
2)捕捉定時(shí)器
當PWM輸出模塊的輸入捕捉功能使能,可同時(shí)用作捕捉功能。捕捉器0和PWM0使用同一個(gè)定時(shí)器,捕捉器1和PWM1使用另一組定時(shí)器,以此類(lèi)推。在使用捕捉功能之前,必須預先配置PMW定時(shí)器。當輸入信號有上升沿轉變時(shí),PWM計數器的值將存入CRLRx寄存器,當輸入信號有下降沿轉變時(shí),PWM計數器的值將存入CFLRx寄存器。
設定CCR0[1] (上升沿觸發(fā)中斷有效)和CCR0[2](下降沿觸發(fā)中斷有效),可以使捕捉器通道0作為中斷源。同樣設定CCR0[17] 和CCR0[18],可以設定通道1。最大的捕捉頻率由捕捉中斷延遲決定,捕捉中斷發(fā)生時(shí),軟件執行以下三步:a.讀PIIR獲取中斷源;b.讀CRLRx/CFLRx獲取捕捉值和寫(xiě)
1清PIIR,如果中斷延遲在T0完成,捕捉信號在(T0)間隔內必須不能變化,此條件下,捕捉頻率最大為1/T0。 每當捕捉控制器觸發(fā)捕捉中斷時(shí),相應的PWM計數器會(huì )同時(shí)重載CNRx的值,通道低脈寬為(CNR+1-CRLR);通道高脈寬為 (CNR+1-CFLR)。
3)PWM定時(shí)器及捕捉配置
PWM定時(shí)器開(kāi)啟步驟:
1. 配置時(shí)鐘選擇 (CSR)
2. 配置預分頻(PPR)
3. 配置反向打開(kāi)/關(guān)閉,死區打開(kāi)/關(guān)閉,自動(dòng)重載/單觸發(fā)模式以及PWM定時(shí)器關(guān)閉 (PCR)
4. 配置比較器寄存器(CMR) 設定PWM 占空比.
5. 配置PWM計數器寄存器 (CNR) 設定PWM周期.
6. 配置中斷使能寄存器 (PIER)
7. 配置PWM輸出使能 (POE)
8. 配置相應的管腳GPIO (GPA_MFP)
9. 配置相應的管教到輸出模式 (GPIOA_OMD)
10. 使能PWM定時(shí)器(PCR)
PWM定時(shí)器關(guān)閉步驟:
方式 1:設定16位向下計數計數器(CNR)為0,并查看PDR狀態(tài)。當PDR達到0,關(guān)閉PWM定時(shí)器 (PCR的CHxEN位). (推薦)
方式2:設定16位向下計數計數器(CNR)為0,當中斷條件發(fā)生。在中斷內關(guān)閉PWM定時(shí)器(PCR的CHxEN位). (推薦)
方式3:直接關(guān)閉PWM定時(shí)器(PCR的CHxEN位). (不推薦,因為禁止CHxEN會(huì )立即停止PWM輸出信號,導致PWM占空比改變,可能引起電機的損壞)
捕捉開(kāi)始步驟:
1. 配置時(shí)鐘選擇(CSR)
2. 配置預分頻(PPR)
3. 配置通道使能,上升/下降沿中斷使能以及輸入信號反向打開(kāi)/關(guān)閉 (CCR0, CCR1)
4. 配置PWM計數器寄存器 (CNR)
5. 配置捕捉輸入使能寄存器 (CAPENR)
6. 配置相應的GPIO管腳用于PWM功能 (GPA_MFP)
7. 配置相應的GPIO管腳于輸入模式S (GPIOA_OMD)
8. 使能PWM定時(shí)器(PCR)
11.看門(mén)狗定時(shí)器WDT
看門(mén)狗定時(shí)器包含一個(gè)18位的自動(dòng)運行的計數器,可編程其定時(shí)溢出間隔。設置WTE(WDTCR[7])使能看門(mén)狗定時(shí)器和WDT計數器開(kāi)始計數. 當計數器達到選擇的定時(shí)溢出間隔,看門(mén)狗定時(shí)器中斷標志W(wǎng)TIF被立即置位,并請求WDT中斷(如果看門(mén)狗定時(shí)器中斷使能位WTIE置位),同時(shí),緊接著(zhù)會(huì )有一個(gè)指定周期(1024*Twdt)延時(shí),用戶(hù)必須在指定周期內設置WTR(WDTCR[0]) (看門(mén)狗定時(shí)器復位)為高,重置18位WDT計數器,防止CPU復位,WTR在WDT計數重置后自動(dòng)由硬件清零。
通過(guò)設置WTIS(WDTCR[10:8])選擇8個(gè)定時(shí)溢出間隔(2^4~2^18),如果在特殊延遲時(shí)間終止后,如果WDT計數沒(méi)有被清零,看門(mén)狗定時(shí)將置位看門(mén)狗定時(shí)器重置標志(WTRF)為高并使CPU復位. 這個(gè)復位將持續63個(gè)WDT時(shí)鐘,然后CPU重啟,并從復位向量(0x0000 0000)執行程序,WTRF將不被看門(mén)狗復位清零,用戶(hù)可用軟件拉低WTFR。
12.模擬數字轉換(ADC)
NUC1XX 系列包含 一個(gè)12-bit 8通道逐次逼近式 模擬 – 數字轉換器 (SAR A/D converter)。A/D 轉換器支持 三種操作模式: 單一、單周期掃描 和連續掃描模式。開(kāi)始A/D 轉換可軟件設定和外部STADC/PB.8 pin開(kāi)啟。
當改變運行模式或模擬輸入通道使能時(shí), 為了防止錯誤的操作, 軟件需清 ADST 位為 0 (ADCR register). A/D 轉換將停止 并進(jìn)入idle 模式.
A/D轉換器有3個(gè)中斷源:A/D 轉換結束時(shí)ADF(ADSR寄存器)位被置1;當A/D轉換結果同ADCMPR0/1寄存器設定值相匹配時(shí),CMPF0/1會(huì )被置1;當ADF、CMPF0、CMPF1其中一個(gè)標志被置1,且其相應的ADIE 位(ADCR 寄存器)及CMPIE(ADCMPR0/1寄存器)置1時(shí),將產(chǎn)生 ADINT 中斷請求。
1)特征
模擬輸入電壓: 0~Vref (Max to 5.0V).
12位分辨率和10位精確度保證。
多達 8 路單端模擬輸入通道或4路差分輸入。
最大 ADC 時(shí)鐘頻率 16MHz/20MHz。ADC時(shí)鐘頻率= (ADC clock source frequency) / (ADC_N+1);
高達600K/1M SPS 轉換速率, 轉換時(shí)間少于 1us.
轉換結果可和指定的值相比較 當轉換值和設定值相匹配時(shí),用戶(hù)設定產(chǎn)生中斷請求.
通道7支持3輸入源:外部模擬電壓, 內部基準電壓和內部溫度傳感器輸出.
支持自身校正功能減少轉換的誤差,用戶(hù)可寫(xiě)1到CALEN 位(ADCALR 寄存器)使能自身校正功能, 當內部校正完成CAL_DONE為高。
2)單觸發(fā)模式
在單觸發(fā)模式下, A/D 轉換僅僅在指定的單一通道中執行一次,運作流程如下:
1. 當 ADCR 的ADST 置位開(kāi)始A/D 轉換,可通過(guò)軟件或外部觸發(fā)輸入.
2. 當 A/D 轉換完成,轉換值將存儲在與通道相對應的A/D數據寄存器中.
3. A/D 轉換完成, ADSR 的ADF 位置位. 若此時(shí)ADIE 位置位, 將產(chǎn)生ADINT 中斷請求.
4. A/D 轉換期間,ADST 位維持為1,A/D 轉換結束,ADST 位自動(dòng)清 0,A/D 轉換器進(jìn)入idle 模式。ADST清0后,至少要等一個(gè)ADC時(shí)鐘,才能再將ADST位置1,否則A/D 轉換器可能無(wú)法運作。
3)單周期掃描模式
在單周期模式下,ADC會(huì )對所有指定的通道進(jìn)行一次采樣和轉換,且從編號最小的通道開(kāi)始運作,具體流程如下:
1. 軟件置位 ADCR 寄存器的ADST 位或外部觸發(fā)輸入置位,A/D 轉換從最小編號的通道開(kāi)始。
2. 每路 A/D 轉換完成后, A/D 轉換數值將裝載到相應數據寄存器中。
3. 當被選擇的通道數都轉換完成后,ADF 位(ADSR 寄存器)置位。若此時(shí) ADIE 置位, 將產(chǎn)生 ADINT 中斷請求。
4. A/D 轉換結束, ADST位自動(dòng)清0,A/D 轉換器進(jìn)入idle 模式。若在轉換過(guò)程中ADST被清0,則無(wú)法保證存儲在數據寄存器中的值之正確性。ADST清0后,至少要等一個(gè)ADC時(shí)鐘,才能再將ADST位置1,否則A/D 轉換器可能無(wú)法運作。
4)連續轉換模式
在連續模式下, 可通過(guò)設定CHEN 位 ADCHER 寄存器 (maximum 8 channels for ADC) 使能 A/D 轉換.運作流程如下:
1. 軟件置位 ADCR 寄存器的 ADST 位或外部觸發(fā)輸入置位,A/D 轉換從最小編號的通道開(kāi)始。
2. 每路 A/D 轉換完成后, A/D 轉換數值將裝載到相應數據寄存器中.
3. 當所有被使能的通道數依序完成一次A/D轉換后,ADF位(ADSR 寄存器)置位。若此時(shí) ADIE 置位,將產(chǎn)生ADINT中斷請求,當 A/D 轉換完成后. 使能的最小編號通道將開(kāi)始新的轉換。
4. 只要ADST保持 1,就重復步驟2 ~ 3。當 ADST 位清 0, A/D 轉換將停止,但無(wú)法保證最小通道使能通道的轉換結果之正確性。
5)比較模式下的A/D轉換結果監控
ADC控制器提供2組比較寄存器 ADCMPR0和ADCMPR1監控 A/D 轉換模塊的2路轉換結果值??赏ㄟ^(guò)軟件設定CMPCH[2:0] 來(lái)選擇監控那路通道,而CMPCOND 位被用來(lái)檢查轉換值小于或大于等于CMPD[11:0]指定值,當CMPCH指定的通道轉換完成時(shí),比較行為將會(huì )被自動(dòng)的觸發(fā)一次,當比較結果與設定值匹配,比較計數器將加1,否則比較計數器清0。當計數器的值與(CMPMATCNT+1)匹配,CMPF位將置1,將產(chǎn)生ADINT中斷請求。在掃描模式下軟件可應用于監控外部模擬輸入pin腳電壓變化。
6)外設DMA 請求
當 A/D 轉換完成,結果裝載到ADDR 寄存器且VALID 置位。如果ACDR寄存器PTEN位置位, ADC控制器將產(chǎn)生PDMA請求(P_nDRQ) ,以便用戶(hù)將數據傳輸到用戶(hù)指定的內存空間,而無(wú)需CPU參與。不管選擇哪個(gè)通道,PDMA操作的源地址都是ADPDMA。如果ADC工作在單周期或連續掃描模式,當PDMA傳輸轉換結果時(shí),ADC將繼續轉換選擇的下一通道,用戶(hù)可通過(guò)讀ADPDMA監控當前PDMA傳輸數據。
13.模擬比較器CMP
NUC1XX 系列包括2 路模擬比較器,當正級輸入大于負極輸入(可選擇內部參考電壓)時(shí),比較器輸出為邏輯1,反之為邏輯 0;每一路比較器可配置成:當輸入值發(fā)生改變時(shí)產(chǎn)生中斷。軟件可 寫(xiě) 0 到 CMP0 位 CMPF1 以停止中斷請求。2路模擬比較器共用同一個(gè)中斷請求。
14.USB設備控制器
NUC1xx系列包含一組全速USB 2.0 設備控制器和收發(fā)器,符合USB 2.0規范,支持control/bulk/
interrupt/isochronous 傳輸類(lèi)型。
在該設備控制器里,包含2個(gè)主接口:APB總線(xiàn)和由USB PHY收發(fā)器出來(lái)的USB總線(xiàn),CPU通過(guò)APB總線(xiàn)編程控制寄存器,在該控制器內置有512字節的SRAM作為數據緩存。輸入或輸出傳輸,需要通過(guò)AHB從接口或SIE向SRAM寫(xiě)數據或從SRAM讀數據。用戶(hù)需要通過(guò)BUFSEGx為每個(gè)端點(diǎn)緩存設置有效的SRAM地址。在USB功能有效前,用戶(hù)需要在緩沖段寄存器配置每個(gè)端點(diǎn)的有效起始地址(地址范圍0x4006 0100-0x4006 02ff)。
USB設備控制器具有6個(gè)可配置的端點(diǎn),每個(gè)端點(diǎn)可配置為IN或OUT類(lèi)型。所有的操作包括control,bulk,interrupt,isochronous傳輸都由斷點(diǎn)模塊來(lái)執行。端點(diǎn)控制模塊還可以用來(lái)管理數據同步時(shí)序,端點(diǎn)狀態(tài)控制,當前起始地址,當前事務(wù)狀態(tài)和每個(gè)端點(diǎn)的數據緩存狀態(tài)。
該控制器提供1個(gè)中斷向量、4個(gè)不同的中斷事件,包括喚醒功能、設備插拔事件、USB事件(如IN ACK,OUT ACK等)和BUS事件(如suspend和resume等),用戶(hù)需要在中斷事件狀態(tài)寄存器(USB_INISTS)檢查相關(guān)事件標志以得知發(fā)生何種中斷,然后檢測相關(guān)USB端點(diǎn)狀態(tài)寄存器(USB_EPSTS)以得知該端點(diǎn)上發(fā)生何種事件??偩€(xiàn)中斷告之用戶(hù)一些總線(xiàn)事件,如USB復位、中止、暫停、恢復,用戶(hù)可以讀特殊功能寄存器“ATTR”獲取總線(xiàn)事件。
USB設備有一個(gè)軟件禁用功能,用于模擬設備沒(méi)有跟主機相連的情況。
SIE是設備控制器的前端,處理最多的USB 協(xié)議包。處理功能包括:
- 包識別,處理時(shí)序
- SOP, EOP, RESET, RESUME信號檢測/產(chǎn)生
- Clock/Data分離
- NRZI 數據編解碼與比特填塞(bit-stuffing)
- CRC產(chǎn)生和校驗 (for Token and Data)
- Packet ID (PID) 產(chǎn)生和校驗/解碼
- 串-并/并-串轉換
數字鎖相環(huán)DPLL:USB數據的比特率為12MHz, DPLL采用的48MHz的頻率由時(shí)鐘控制器產(chǎn)生,鎖定RXDP與RXDM的輸入數據,12MHz的比特率時(shí)鐘也是由DPLL轉換來(lái)的。
插拔去抖動(dòng):USB設備可以進(jìn)行熱插拔操作,為了監測USB設備被拔出的狀態(tài),設備控制器提供了硬件去抖動(dòng)以防止在USB插拔時(shí)產(chǎn)生的抖動(dòng)問(wèn)題,懸空檢測中斷產(chǎn)生于USB進(jìn)行插拔操作的10ms后,用戶(hù)可以通過(guò)讀取“FLODET”寄存器的值,來(lái)應答USB插拔;“FLODET”代表在當前總線(xiàn)上沒(méi)有經(jīng)過(guò)去抖動(dòng)處理的狀態(tài),若用戶(hù)要通過(guò)這個(gè)標志來(lái)檢測USB的狀態(tài),則需要添加軟件去抖動(dòng)功能。
當芯片進(jìn)入掉電模式時(shí),USB 自動(dòng)關(guān)閉PHY省電,此外,在特殊環(huán)境下,用戶(hù)可以給特殊功能寄存器ATTR[4]寫(xiě)入“0”關(guān)閉PHY進(jìn)入省電狀態(tài)。
與USB外設通信處理:用戶(hù)可以采用中斷或檢測USB_EVF來(lái)監測USB通信,在USB通信發(fā)生時(shí),USB_EVF 由硬件置1,并向CPU發(fā)送中斷請求。
USB主機向設備控制器請示數據時(shí),用戶(hù)需要準備相關(guān)的數據給端點(diǎn)緩存. 在緩沖請求數據后,用戶(hù)需要寫(xiě)入實(shí)際數據長(cháng)度給MAXPLD寄存器。一旦這個(gè)寄存器被寫(xiě)入數據,內部信號“In_Rdy”會(huì )被設置,當收到主機相關(guān)的IN token之后,緩沖數據將被立刻傳送。在傳送制定數據之后,信號 “In_Rdy”會(huì )由硬件自動(dòng)清除。
USB主機要發(fā)送數據到設備控制器的OUT端點(diǎn),硬件將這些數據存在指定的端點(diǎn)緩存里,通信完成后,硬件在MAXPLD記錄數據長(cháng)度,并發(fā)送“Out_Rdy”信號,這避免硬件在用戶(hù)沒(méi)有取走當前數據時(shí)接收下一個(gè)數據。一旦用戶(hù)處理了這個(gè)通信時(shí),由軟件寫(xiě)入相關(guān)的寄存器“MAXPLD”來(lái)設置“Out_Rdy” 信號以接收下一次通信。
15.I2C 總線(xiàn)控制器 (主機/從機)
I2C 為雙線(xiàn),雙向串行總線(xiàn),I2C 總線(xiàn)上數據的傳輸速率在標準模式下可達100kbit/s 在快速模式下可達400kbit/s 在高速模式,直至 1.0 Mbit/s 的增強高速模式。
在連接到總線(xiàn)的器件間傳遞信息每個(gè)器件都有一個(gè)唯一的地址識別。數據在主機和從機間通過(guò)SCL時(shí)鐘線(xiàn)控制在SDA數據線(xiàn)上實(shí)現一字節一字節的同步傳輸,數據由最高位MSB開(kāi)始傳輸,每個(gè)字節包含8位,每次傳輸可以發(fā)送的字節數量不受限制,每個(gè)字節后必須跟一個(gè)響應位。如果從機要完成一些其他功能后,才能接收或發(fā)送下一個(gè)完整的數據。字節可以使時(shí)鐘線(xiàn)SCL 保持低電平迫使主機進(jìn)入等待狀態(tài),當從機準備好接收下一個(gè)數據字節并釋放時(shí)鐘線(xiàn)SCL 后,數據傳輸繼續。
片上I2C邏輯提供符合I2C總線(xiàn)標準的串聯(lián)標準接口,I2C接口自動(dòng)處理字節傳輸,將I2CON的ENS1位設置為1,即可使能該端口,I2C H/W接口通過(guò)SDA與SCL兩個(gè)引腳連到I2C總線(xiàn)。用于I2C操作的兩個(gè)引腳需要上拉電阻,因為這兩個(gè)引腳為開(kāi)漏腳,在I/O引腳作為I2C端口使用時(shí),用戶(hù)必須預先設置引腳功能為I2C功能。
1)I2C協(xié)議
通常標準I2C傳輸協(xié)議包含四個(gè)部分:
- 起始信號或重復起始信號
-從機地址傳輸
-數據傳輸
-停止信號
2)I2C寄存器
NUC1xx共有6個(gè)特殊功能寄存,用于I2C通訊: I2CON(控制寄存器 C0H), I2STATUS(狀態(tài)寄存器 BDH), I2DAT(數據寄存器 BCH), I2ADDR(包括I2CADDRn和I2CADRMn,地址寄存器 C1H), I2CLK(時(shí)鐘速率寄存器 BEH) 和 I2TOC(定時(shí)計數寄存器 BFH)。寄存器的第31位至第8位都是保留的,不具備任何功能。
當ENS1置1,I2C口使能后,內部狀態(tài)由 I2CON 和 I2C總線(xiàn)上狀態(tài)控制。當有新的狀態(tài)發(fā)生后,會(huì )存儲到 I2STATUS, I2C 中斷標志(SI) 也會(huì )自動(dòng)置起。若此時(shí) EI2 被設定為高,I2C中斷會(huì )被響應。
3)I2C操作模式
5種操作模式:主機/傳輸,主機/接收,從機/傳輸,從機/接收和GC 模式。
16.串行外圍設備接口(SPI)控制器
SPI接口是工作于全雙工模式下的同步串行數據傳輸接口。共支持四組雙向主/從機模式傳輸。包括4組SPI控制器,將從外設得到的數據進(jìn)行串并轉換,或將數據進(jìn)行并串轉換,發(fā)送到外設。每組SPI控制可以被作為一個(gè)主機,驅動(dòng)最多2個(gè)外部從設備,還可以被設置為外圍設備的從機。
該主/從機內核包含2組32位輸出/輸入數據緩存,可支持突發(fā)傳輸(burst mode)模式,并支持各種不同長(cháng)度的變量數據模式,最多可支持64位數據傳輸。
該控制器支持不同串行時(shí)鐘,支持1位、2位數據傳輸模式。支持MSB 或 LSB 為最先傳輸模式。支持2個(gè)通道的PDMA請求,一個(gè)用于發(fā)送,一個(gè)用于接收。
1)SPI作為主機時(shí),與 一個(gè)從機設備通信如下:
a.對DIVIDER內寫(xiě)入值,確定傳輸頻率。
b.將主機模式的相應設置寫(xiě)入SSR,設定 ASS = 0, SS_LVL = 0 且SSR[0] 或SSR[1] =1 用以使能模塊。
c.將主機模式的相應設置寫(xiě)入寄存器SPI_CNTRL。
d.如果SPI主機要發(fā)送一個(gè)字節的數據到外設,則將所要發(fā)送的數據寫(xiě)入寄存器SPI_Tx0。
e.如果SPI主機只是從外設接收一個(gè)字節的數據,不必管被傳輸出去的數據是什么,只需向寄存器SPI_TX0寫(xiě)入0xff。
f.使能GO_BUSY位(SPI_CNTRL[0]=1),以開(kāi)始SPI接口的數據傳輸。
g.等到SPI中斷發(fā)生,或檢測GO_BUSY位直到被硬件自動(dòng)清0。
h.從寄存器SPI_RX0[7:0]讀出所接收到的一個(gè)字節的數據。
i.重復步驟d,繼續其他數據的傳輸,或設置SSR[0]為0以停止外設。
2)SPI作為從機時(shí)
a.設置從機有效電平位SS_LVL(SPI_SSR[2]=1)與從機選擇電平觸發(fā)位SS_LTRIG(SPI_SSR[4]=1)使從機選擇信號為高電平觸發(fā)。
b.將從機模式的相應設置寫(xiě)入寄存器SPI_CNTRL。
c.如果SPI從機要發(fā)送一個(gè)字節的數據到SPI主機,則將所要發(fā)送的數據寫(xiě)入寄存器SPI_Tx0。
d.如果SPI從機只是要從外設主機接收一個(gè)字節的數據,不必管被傳輸的數據是什么,只需向寄存器SPI_TX0寫(xiě)入0xff。
e.使能GO_BUSY位(SPI_CNTRL[0]=1),等到外設的從機選擇觸發(fā)輸入和串行時(shí)鐘輸入,以開(kāi)始SPI接口的數據傳輸。
f.等到SPI中斷發(fā)生,或檢測GO_BUSY位直到被硬件自動(dòng)清0。
g.從寄存器SPI_RX0[7:0]讀出所接收到的一個(gè)字節的數據。
h.重復步驟c,繼續其他數據的傳輸,或設置SSR[0]為0以停止外設。
17.I2S 控制器
I2S控制器由IIS協(xié)議與外部音頻CODEC組成,兩個(gè)8字的FIFO分別用于讀與寫(xiě)通道,可以處理8~32位字大小。DMA控制器處理數據在FIFO與內存之間傳輸,兩個(gè)DMA請求,一個(gè)用于發(fā)送,一個(gè)用于接收。
I2S 可工作于8位主機或從機,支持單聲道和立體聲的音頻數據.支持I2S和MSB 校驗數據格式.當緩沖超過(guò)可編程邊界時(shí),產(chǎn)生中斷請求.
18.PS2設備控制器(PS2D)
PS/2 設備控制器為 PS/2通訊提供基本時(shí)序控制。在設備和主機之間的通訊CLK 和 DATA pins控制. 不同于 PS/2 鍵盤(pán)和鼠標設備控制器, 接收/傳輸代碼需要固件進(jìn)行代碼轉換成有意義的代碼。主機發(fā)送到設備的數據是在上升沿讀取,設備發(fā)送到主機的數據在上升沿之后被改變??删幊?~16 位傳輸緩沖 以減少CPU 干擾。支持雙數據緩沖功能。
PS/2 設備具有 雙向雙向同步串行協(xié)議,當總線(xiàn)為 "Idle" 模式并且兩條線(xiàn)都為高 (open-collector),該狀態(tài)為設備允許開(kāi)始 DATA 傳輸的唯一條件。主機在總線(xiàn)上有最終的控制權 ,比呢且任何時(shí)候都可以通過(guò)下拉CLK line禁止通訊。設備始終產(chǎn)生CLK信號,如果主機需要發(fā)送 DATA, 下拉CLK line 為低,禁止從設備進(jìn)行通訊。主機隨后將DATA拉低并且釋放CLK,這是"Request-to-Send" 狀態(tài),通知設備開(kāi)始發(fā)送CLK脈沖。所有數據每次傳輸1字節,每字節包括11-12位:1 開(kāi)始位(一直為 0);8 數據位(先最低位);1 奇偶位(odd parity);1 停止位(一直為1);1 應答位(主機~設備通訊)。
設備向主機傳輸,設備應用于連續的 11-位 架構:1 個(gè)開(kāi)始位(始終為 0);8 數據位(最高位最先傳輸);1奇偶位(odd parity);1停止位(一直為1)。
主機向設備傳輸:首先,PS/2 設備一直產(chǎn)生 CLK 信號,如果主機希望發(fā)送DATA, 首先需設定CLK 和 DATA在 "Request-to-send" 狀態(tài):拉低CLK 至少100 us 禁止通訊;應用 "Request-to-send" 拉 DATA 為低, 釋放CLK。設備在不超過(guò)10 ms時(shí)間內需不間斷的監控狀態(tài),當設備監控到此狀態(tài),將開(kāi)始產(chǎn)生CLK 信號和8位DATA位 1 位停止位。當CLK line為低時(shí),主機改變DATA line,當CLK為高時(shí)設備讀數據。停止位接收后,設備發(fā)出應答信號,使DATA line 為低 并且產(chǎn)生CLK 脈沖。
寫(xiě)PS2TXDATA0 寄存器將觸發(fā)設備和主機通訊,在向TX FIFO傳輸數據前,S/w 需定義TXFIFO 長(cháng)度。寫(xiě)PS2TXDATA0 寄存器后100us,第一個(gè)字節的start bit 才會(huì )被傳送到總線(xiàn)上。
19.局域控制網(wǎng)絡(luò )總線(xiàn)(CAN Bus)
區域控制器 (CAN) 為串行通訊協(xié)議 具有多主機(multi-master) 和高效率實(shí)時(shí)控制功能,安全性能高 成本低,應用于高速網(wǎng)絡(luò ),在汽車(chē)電子, 車(chē)身控制, 傳感器, 防滑系統等。CAN 連接速度可達 1Mbit/s。CAN 2.0B 協(xié)議兼容。
總線(xiàn)上信息發(fā)送為固定模式.當總線(xiàn)空閑時(shí), 任何的連接單元可進(jìn)行數據傳遞.
1. A DATA FRAME 數據從傳輸到接收的運輸.
2. A REMOTE DATA FRAME 通過(guò)總線(xiàn)單元向傳輸DATA FRAME IDENTIFIER發(fā)送請求.
3. An ERROR FRAME 傳輸通過(guò) 任何單元偵測總線(xiàn) error.
4. An OVERLOAD FRAME 應用于提供額外延時(shí) 在當前和隨后 DATA 或 REMOTE FRAMES 之間.
評論