系統的應用場合及意義
在一個大型會議系統或多媒體電教室系統中往往通過中央控制系統,實現整個系統的集中控制。點擊LCD觸摸屏,就能實現各種視像信號的快速切換(視頻信號、電腦信號)、燈光系統的調光或自動快速模式設定,以及各種音響系統調節,攝像、監控、大屏幕投放、窗簾收放等一系列功能的程序化控制。
這里的中央控制系統實際上是由一個帶處理器的智能控制平臺和帶多媒體設備接口的多路繼電器組成,前臺控制器可以設計成固定的臺式模式,也可以設計成便于攜帶的手持設備,它往往是通過無線方式控制多路繼電器主機,進而控制各種多媒體設備的開關及運行。嵌入式系統的發展為這一媒體控制器提供了一個可靠的平臺,而嵌入式處理器的更新換代則意味著這個平臺將更加智能化,體積更小,功耗更低。 Intel公司推出的個人用戶端架構(PCA)是一個開放的嵌入式系統開發應用平臺,它以XSCALE系列嵌入式處理器為核心,處理器時鐘可達1GHz,并可達到1200MIPS,同時支持Linux、WinCE.NET和VxWorks等操作系統,是一個理想的面向無線互連的應用平臺。
我們設計的手持式媒體控制器就是在PCA架構下,選用Intel PXA250的硬件平臺。媒體控制器所實現的主要功能都是在一個多媒體控制軟件上實現的,這個應用軟件把多媒體設備的各種操作解析為各個操作碼,并提供了一個前臺界面可進行編程操作。這些編程命令以無線方式傳到一個多路繼電器主機,最終實現多媒體設備的智能控制。系統對實時性要求并不很高,我們采用的是微軟的Windows CE嵌入式操作系統,它提供了windows程序員熟悉的開發環境,如API函數、ActiveX控件、消息隊列、COM接口、ATL和MFC,不僅提高了開發效率,更重要的是,還有利于移植從其它Windows平臺上已開發好的應用程序。
設計思路與系統硬件框圖
Intel R Xscale PXA250/210處理器是一個具有高集成度的通訊控制芯片,內部集成了一個32bit XscaleRISC處理器內核,并具有邏輯單元、多個通訊信道、LCD控制器、內存PCMCIA控制器和通用的I/O口。它共有3個通用異步串行接口(UART),其中包括一個藍牙串行口。每個串行口除了通用UART功能外,還包含一個低速紅外編解碼器,可直接與市售的紅外數據協會(IrDA)兼容的LED收發器相連。
從手持設備的無線選擇方式來看,主要有三種方案:一是在藍牙串行口后接一個藍牙模塊;二是選擇紅外無線遙控;三是用短距離的無線數傳芯片。對于藍牙方案,無線傳輸距離和芯片價格是值得考慮的地方:藍牙主要用于短距離傳輸(最多10米),且芯片價格一直偏高,雖然目前也有使藍牙傳輸距離進一步加大的方案(可達100米),但不幸的是,其價格也會比原來貴許多。紅外傳輸則沒有價格問題,但從手持設備所能提供的功耗來看,它能傳輸的距離實在太近,只有幾米,且對紅外發射角度有一定的要求,存在“必須保證傳輸信息的兩個設備正對,且中間不能有障礙物”等致命的缺陷。與前兩種方案相比,采用短距離的無線數傳芯片進行無線傳輸則靈活得多,價格上從低端到高端選擇余地很大,傳輸距離從幾十米到幾百米都有,功耗毫瓦級的也很多。
考慮到多媒體控制系統的某些應用場合,如多媒體語音教室、多媒體會議室的面積,故對無線設備的傳輸距離有一定的要求,最好在百米范圍內并有一定穿透力為宜,且由于屬于手持設備,功耗應盡可能小。無線設備主要傳輸的是繼電器動作及媒體控制命令,因此無線通信的數據量不大,對無線模塊的速度要求不高。綜合以上分析,媒體控制手持設備的無線模塊最好采用第三種方案,即選用短距離低功耗的無線射頻芯片。無線模塊與INTEL PXA250連接也有多種選擇,如GPIO、IIC、USB、串口等,從硬件連接及通信協議最簡化來看,選擇串口與無線模塊相連是最佳的。
媒體控制手持設備主要功能描述如下:
1.CPU
采用Intel的Xscale PXA250處理器,運行于400MHz(Xscale core);
32Bit RISC處理器,具有32K指令緩沖,32K數據緩沖,MMU單元,Mini cache;
內部PCMCIA控制器;
2.內存
采用三星SDRAM,32M字節SDRAM內存(最大可到64Mbytes);
采用Intel的快速頁面讀取模式的StrataFlash,16M字節Flash內存(最大可到32Mbytes);
3.外沒
TFT 640 ×480 LCD,真彩色,帶觸摸屏;
用戶定義的多功能按鍵;
串行接口; 以太網接口;
DC-DC高效率的電源轉換或低價位的電源轉換;
直流電源輸入接口;
JTAG接口;
射頻無線模塊;
多個LED指示燈;
鋰電池的充電和供電系統;
無線數傳模塊設計
市面上的射頻芯片很多,除了距離、功耗上的考慮外,選擇射頻波段也很重要:這個頻段不會影響其它無線設備的正常工作,如手機、電器等;它的頻段要合適,避免是國家管制的波段。基于以上幾點,我們選擇挪威nordic公司的nRF401。
nRF401是采用FSK方式的為433MHz ISM頻段設計的半雙工無線收發芯片。傳輸速率最高可達19.6K,發射功率可調,最大發射功率+10dBm,還有待機模式,以便更加省電。實測的傳輸距離超過200米,工作電壓從2.7V到5V,符合系統所需的要求。
芯片主要管腳說明如表1所示:
芯片采用SSOIC20的封裝,外圍電路設計非常簡單。它不需要對芯片進行初始化和配置,數據可以透明傳輸,不用專門進行編碼解碼。發射、接收宇數據接口采用串行形式,發射器以及接收器完全獨立進行操作,并具有休眠功能。芯片具有載波檢測,發射、接收以及載波檢測路徑包含通帶濾波器,以使信號在調制解調器各部分得到完善。在信號條件比較差的情況下具有優良的靈敏度,使產品的性能在高噪聲環境下完善。布線時,RP電路對電源噪聲很敏感,要給RP電源加濾波電路,以減小電源噪聲對RF電路的干擾,最好在芯片電源引腳加旁路電容。射頻電路的元件面以nRF401為中心,各元件緊靠其周圍,盡可能減少分布參數的影響。數字信號只能在電路板的數字部分布線,模擬信號只能在電路板的模擬部分布線,并且模擬電源和數字電源要分割,要注意大面積地的連續性。
由圖3可見,嵌入式CPU對無線模塊的控制接口主要由5根信號線組成,分另U是DIN、DOUT、TXEN、PWR_UP、CS。其中PWR_UP是節能控制端,利用IntelPXA250的一個GPIO對其進行編程,以實現無線模塊的工作模式與休眠狀態的切換。工作時手持設備僅與繼電器主機進行半雙工通信,因此頻道選擇信號CS可以任意選擇,或亦用GPIO設置。Intel PXA250的全功官臣串口(FullFunction UART)支持MODEM信令,可以利用這個串口控制DIN、DOUT、TXEN信號,串口的nRTS接TXEN。這里需要注意的是要對nRTS進行延時處理,因為nRF401發送到接收的轉換時間為5ms,所以延時要大于5ms。
無線模塊軟件設計
無線模塊通過UART與系統連接,包括GUI用戶應用程序也通過訪問串口驅動程序來訪問設備,所以必須對UART進行初始化。INTEL R PXA250的UART符合RS-232標準,也支持16550工業標準的大部分功能,通訊的最高速度可以達到230.4kbps。
PXA250共有3個通用異步串行接口(UART),啟動時UART默認狀態是無法使用,必須通過編程GPIO寄存器來使能它們。每個UART有一個64 ×8位的FIFO用于緩沖輸出數據,一個64 × 1l位的FIFO用于緩沖輸入數據(其中的3位存放每個接收字符的幀、奇偶校驗和接收FIFO溢出出錯標志)。當UART單元被禁止時,發送器和接收器完成當前操作后停止任何數據傳送。此時FIFO中的數據并沒有被清空,一旦UART再次使能,發送接收可以重新開始。此外,將中斷允許寄存器(IER)的位5置高,UART還可以進行NRZ譯碼操作。
每個UART共有13個寄存器:其中12個用于UART操作,1個用于低速紅外調制功能。寄存器是32位,但只有最低的8位裝載的是有效數據。12個UART寄存器共享了I/O地址空間中的9個地址,基地址也是32位。各控制寄存器決定著UART各種模式、傳送方式以及波特率分頻系數,狀態寄存器可以反映芯片目前的讀寫狀態以及錯誤類型,數據寄存器分別對應于發送FIFO頂部和接收FIFO底部:讀出RBRll位接收FIF0底部的8位數據、3位出錯標志;寫入TBR發送FIFO頂部8位數據。對這些寄存器的正確配置和讀寫是初始化UART的必要條件。寄存器SLDR[DLAB]位的狀態決定著一些UART寄存器的選擇模式,為了能對分頻器寄存器進行操作,必須通過軟件對SLDR[DLAB]位置高。
對這些寄存器的正確配置和讀寫是初始化UART的必要條件。除此以外還需要一些串行口的接口函數,它們包括:
1 void Uart_Init(int Uartnum,int mclk,int baud)
功能:初始化串行口,設置串行口通訊的波特率
參數說明:Uartnum:所設定的串行口號
mclk:系統的主時鐘頻率
band:所設定的串行口通訊的波特率
2 void Uart_Printf(Char*fmt,…)
功能:輸出字符串到串口0
參數說明:fmt:輸出到串行口的字符串
3 char Uart_etch(int Uartnum)
功能:接收指定串口的數據,收到數據時返回,返回串口接收到的數據
參數說明:Uartnum:所設定的串行口號
4 void Uart_SendByte(int Uartnum,int data)
功能:向指定的串口發送數據
參數說明:Uartnum:所設定的串行口號
data:發送的數據
在操作系統環境下,系統啟動時會自動初始化串行口,所以應用程序調用串行口資源將變得更容易。值的注意的是,應用程序往往是多任務系統,為了實時監測串行口信息,在操作環境中一般單開一個串行口掃描任務,保證信息不丟失。在一個已有的工程文件的主函數MAIN中添加串行口的寄存器初始化代碼,并添加串行口掃描任務。由于對無線模塊的控制還有系統的GPl0,所以掃描程序中還要包括對10的操作。當系統收到串行口信息時,將會自動向主任務發送一個串行口消息。主任務接收到該消息,將會調用響應函數,響應該消息。
結束語
這種無線手持設備除了應用于媒體控制系統外,還可以用于無線遙控系統、機器人控制、信息家電、無線PDA點菜系統等等。在高達400MHz的時鐘速度運行的PXA250應用處理器將為許多全功能的手持通信設備、信息通信系統和PDA提供先進的集成度、領先的多媒體性能和更好的節能性。在Intel功能強大的PCA平臺(個人用戶端架構)下,系統設計人員可以不必過多的考慮CPU的處理瓶頸而把更多的精力放在應用開發上。
責任編輯:gt
評論
查看更多