無線光機鼠標設計(51兼容射頻Soc nRF9E5)
1. 引言
nRF9E5是Nordic VLSI公司于2004年2月5日推出的系統(tǒng)級RF芯片,其內置nRF905 433/868/915MHz收發(fā)器、8051兼容微控制器和4輸入10位80ksps AD轉換器,是真正的系統(tǒng)級芯片。內置nRF905收發(fā)器與nRF905 芯片的收發(fā)器一樣,可以工作在ShockBurstTM(自動處理前綴、地址和CRC)方式。內置電壓調整模塊,最大限度地抑制噪音,為系統(tǒng)提供1.9V 到3.6V的工作電壓。nRF9E5符合美國通信委員會和歐洲電信標準學會的相關標準。由于nRF905功耗低,工作可靠,因此很適用于無線光機鼠標設計。
2. nRF9E5功能介紹
2.1微控制器
nRF9E5的片內微控制器與標準51兼容。指令時序與標準51稍有區(qū)別,典型的區(qū)別是nRF9E5的片內微控制器的指令周期為4到20個指令周期。中斷控制器支持5個擴展的中斷源:ADC中斷、SPI中斷、RADIO1中斷、RADIO2中斷和喚醒定時器中斷。片內控制器還有3個與8052相同的定時器。一個和8051相同的串口,可以用定時器1和定時器2來作為異步通信的波特率產生器。此外,還擴展了兩個數(shù)據(jù)指針,以方便于從XRAM區(qū)讀取數(shù)據(jù)。
微處理器中有256字節(jié)的數(shù)據(jù)RAM和512字節(jié)的ROM。上電復位或軟件復位后,處理器自動執(zhí)行ROM中的引導區(qū)中的代碼。用戶程序通常是在引導區(qū)的引導下,從EEPROM加載到1個4K的RAM中,這個4K的RAM也可作存儲數(shù)據(jù)用。如果應用當中不用掩膜ROM(也即內含的ROM),程序代碼必須從外部非易失性存儲器中加載,比較常見的是通過SPI接口擴展型號為25320的EEPROM。
nRF9E5的大部分寄存器和標準8051相同,只是為了控制一些8051沒有的功能,增加了一些特殊功能寄存器,如RADIO(P2)、 ADCCON、ADCDATAH、ADCDATAL、ADCSTATIC、PWMCON、PWMDUTY等。nRF9E5中的P0、P1和P2口寄存器地址和標準8051中的相同,都是0x80,0x90,0xA0,但功能和標準8051中的有所不同。
圖1 nRF9E5功能圖[1]
2.2 PWM
nRF9E5內有一個可編程控制的PWM(脈寬調制)輸出,使用時,通過程序改變P0.7的功能來實現(xiàn),并可編程決定PWM工作于6位、7位或8位。PWM的頻率與晶振有關,可編程控制。
2.3 SPI接口
SPI(串行外設接口)的接口引腳有MISO(接收EEPROM的SDO送來的數(shù)據(jù))、SCK(給EEPROM的SCK提供時鐘信號)、MOSI (送數(shù)據(jù)到EEPROM的SDI)、EECSN(給EEPROM的CSN送使能信號)。SPI口的MISO、SCK和MOSI與P1口的低3位重用,通過寄存器SPI_CTRL控制來控制功能間的撤換。SPI硬件不產生任何片選信號,可以用GPIO口來進行片選。通常,系統(tǒng)上電時,SPI自動和片外的 25320相連,當程序加載完成后,MISO(P1.2)、MOSI(P1.0)和SCK(P1.0)可能會用作其它用途,比如其它的SPI器件或 GPIO。
2.4 LF時鐘,RTC喚醒定時器,GPIO喚醒和WTD
nRF9E5內有一個低頻的時鐘CKLF,該時鐘常開。當晶振開始工作后,CKLF頻率為4kHz;晶振不工作時,CKLF是一個低功耗RC晶振并且不能禁能,只要VDD 1.8V,其連續(xù)工作。RTC喚醒定時器、WTD(看門狗)和GPIO喚醒全都工作在CKLF頻率,以保證芯片低功耗工作時能夠完成這三個功能。
RTC喚醒定時器是個24位可編程控制的遞減計數(shù)器,WTD則是個16位可編程控制的遞減計數(shù)器。RTC喚醒定時器和WTD的循環(huán)周期一般在300us和80ms之間,默認為1ms。
評論