• <li id="00i08"><input id="00i08"></input></li>
  • <sup id="00i08"><tbody id="00i08"></tbody></sup>
    <abbr id="00i08"></abbr>
  • 新聞中心

    EEPW首頁 > 嵌入式系統 > 設計應用 > 無線光機鼠標設計(51兼容射頻Soc nRF9E5)

    無線光機鼠標設計(51兼容射頻Soc nRF9E5)

    作者: 時間:2012-06-09 來源:網絡 收藏

    1. 引言

    是Nordic VLSI公司于2004年2月5日推出的系統級RF芯片,其內置nRF905 433/868/915MHz收發器、8051兼容微控制器和4輸入10位80ksps AD轉換器,是真正的系統級芯片。內置nRF905收發器與nRF905 芯片的收發器一樣,可以工作在ShockBurstTM(自動處理前綴、地址和CRC)方式。內置電壓調整模塊,最大限度地抑制噪音,為系統提供1.9V 到3.6V的工作電壓。符合美國通信委員會和歐洲電信標準學會的相關標準。由于nRF905功耗低,工作可靠,因此很適用于無線設計。

    2. 功能介紹

    2.1微控制器

    nRF9E5的片內微控制器與標準51兼容。指令時序與標準51稍有區別,典型的區別是nRF9E5的片內微控制器的指令周期為4到20個指令周期。中斷控制器支持5個擴展的中斷源:ADC中斷、SPI中斷、RADIO1中斷、RADIO2中斷和喚醒定時器中斷。片內控制器還有3個與8052相同的定時器。一個和8051相同的串口,可以用定時器1和定時器2來作為異步通信的波特率產生器。此外,還擴展了兩個數據指針,以方便于從XRAM區讀取數據。

    微處理器中有256字節的數據RAM和512字節的ROM。上電復位或軟件復位后,處理器自動執行ROM中的引導區中的代碼。用戶程序通常是在引導區的引導下,從EEPROM加載到1個4K的RAM中,這個4K的RAM也可作存儲數據用。如果應用當中不用掩膜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的功能來實現,并可編程決定PWM工作于6位、7位或8位。PWM的頻率與晶振有關,可編程控制。

    2.3 SPI接口

    SPI(串行外設接口)的接口引腳有MISO(接收EEPROM的SDO送來的數據)、SCK(給EEPROM的SCK提供時鐘信號)、MOSI (送數據到EEPROM的SDI)、EECSN(給EEPROM的CSN送使能信號)。SPI口的MISO、SCK和MOSI與P1口的低3位重用,通過寄存器SPI_CTRL控制來控制功能間的撤換。SPI硬件不產生任何片選信號,可以用GPIO口來進行片選。通常,系統上電時,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,其連續工作。RTC喚醒定時器、WTD(看門狗)和GPIO喚醒全都工作在CKLF頻率,以保證芯片低功耗工作時能夠完成這三個功能。

      RTC喚醒定時器是個24位可編程控制的遞減計數器,WTD則是個16位可編程控制的遞減計數器。RTC喚醒定時器和WTD的循環周期一般在300us和80ms之間,默認為1ms。


    上一頁 1 2 3 下一頁

    評論


    相關推薦

    技術專區

    關閉
    主站蜘蛛池模板: 尤溪县| 连州市| 特克斯县| 湘阴县| 瑞金市| 隆子县| 吴旗县| 吉木萨尔县| 潜江市| 伊川县| 寻乌县| 虞城县| 上林县| 余姚市| 兰州市| 萍乡市| 金塔县| 闸北区| 会泽县| 乐都县| 扶余县| 宣恩县| 永昌县| 策勒县| 新竹市| 南木林县| 会泽县| 西华县| 安徽省| 西乌| 舞阳县| 定兴县| 颍上县| 宁蒗| 浙江省| 正阳县| 宝山区| 三亚市| 广丰县| 土默特左旗| 南郑县|