當(dāng)前位置:首頁(yè) > 智能硬件 > 智能硬件
[導(dǎo)讀]摘 要:介紹一種基于Philips公司的32位ARM7T[)MI—s微處理器LPC2210的USB接口設(shè)計(jì),并使用Nordic公司生產(chǎn)的單片射頻收發(fā)芯片 nRF2401設(shè)計(jì)USB接口的無(wú)線通信模塊。闡述該系統(tǒng)的工作原理、硬件構(gòu)成及軟件設(shè)計(jì)方案。實(shí)

摘  要:介紹一種基于Philips公司的32位ARM7T[)MI—s微處理器LPC2210的USB接口設(shè)計(jì),并使用Nordic公司生產(chǎn)的單片射頻收發(fā)芯片 nRF2401設(shè)計(jì)USB接口的無(wú)線通信模塊。闡述該系統(tǒng)的工作原理、硬件構(gòu)成及軟件設(shè)計(jì)方案。實(shí)現(xiàn)了基于USB接口的無(wú)線串行通信。
關(guān)鍵詞:無(wú)線傳輸 LPC2210 USB nRF2401 CY7C63231


引 言
    USB通用串行總線主要用于USB設(shè)備與主機(jī)之間的數(shù)據(jù)通信,特別為USB設(shè)備與USB主機(jī)之間大量的數(shù)據(jù)傳輸提供了高速、可靠的傳輸協(xié)議。射頻通信以其優(yōu)點(diǎn)也應(yīng)用在越來(lái)越多的場(chǎng)合。本文所設(shè)計(jì)的USB無(wú)線串行接口電路由nRF2401單片射頻收發(fā)器、LPC2210微控制器和USB接口芯片組成。本系統(tǒng)充分利用USB口數(shù)據(jù)傳輸功能,設(shè)備連接方便,系統(tǒng)可用于進(jìn)行無(wú)線串行數(shù)據(jù)雙向傳輸,在儀器儀表、計(jì)算機(jī)遙測(cè)遙控系統(tǒng)、家庭網(wǎng)絡(luò)系統(tǒng)等中得到了應(yīng)用。


1 硬件設(shè)計(jì)
    整個(gè)硬件設(shè)計(jì)分為兩個(gè)部分:使用帶并行總線的USB接口器件PDIUSBD12設(shè)計(jì)LPC2200的USB接口,其電路圖如圖1所示;使用Cypress 公司的USB外圍控制芯片CY7C63231設(shè)計(jì)射頻芯片nRF2401的USB接口,其電路圖如圖2所示。兩個(gè)部分通過(guò)USB口相接,整個(gè)硬件設(shè)計(jì)系統(tǒng)框圖如圖3所示。


    圖1中,USB接口芯片采用的是Philips公司的并行USB接口芯片PDlUSBD12,符合通用串行總線(USB)1.1版本規(guī)范。這里以 LPC2200微控制器與PDIUSBI)12構(gòu)成USB設(shè)備,PDIUSBD)12連接到LPC2200的硬件原理圖如圖1所示。

    PDIUSBD12使用LPC2200外部存儲(chǔ)控制的Bank2部分,數(shù)據(jù)地址為0x82000000,命令地址為Ox82000001。 RST_USB、SUSP為L(zhǎng)PC2200的輸出引腳,PDIUSBD)12中斷信號(hào)為中斷輸入信號(hào),且為外部中斷O。C1、C2和X1為 PDIUSBD)12提供工作所需的時(shí)鐘輸入。發(fā)光二極管GoodLink在正常通信時(shí)閃爍。PDIUSBD12的AD0連接到LPC2200的A0,當(dāng) LPC2200在A0引腳輸出l時(shí),表示輸出到PDIUSBD12數(shù)據(jù)總線DO~D7上的數(shù)據(jù)為命令字;當(dāng)A0引腳輸出0時(shí),表示輸出到PDIUSBD) 12數(shù)據(jù)總線DO~D7的數(shù)據(jù)為數(shù)據(jù)字。


    圖2中,CY7C63231是8位RISC微處理器,特別適用在USB嵌入式方面,工作電壓為5 V。nRF2401是單片射頻收發(fā)芯片,有四種工作模式:收發(fā)模式、配置模式、空閑模式和關(guān)機(jī)模式。所有配置工作,工作模式選擇和收發(fā)數(shù)據(jù)都是通過(guò) CY7C63231的PO引腳控制完成的。用電壓調(diào)整芯片LP2980IM5—3.3產(chǎn)生nRF2401的工作電壓(3.3 V),同時(shí)SN74LVC4245產(chǎn)生控制口3.3 V和5 V的電平轉(zhuǎn)換,使工作在不同電壓的這兩種芯片能正常的相連。


2  軟件設(shè)計(jì)
2.1  PDIUSBDl2驅(qū)動(dòng)軟件構(gòu)架
    為了使驅(qū)動(dòng)軟件可移植性強(qiáng)、易維護(hù),采用分層的方法編寫(xiě)PDIUSBDl2的驅(qū)動(dòng)程序,圖4為USB驅(qū)動(dòng)程序軟件分層結(jié)構(gòu)圖。


    USB驅(qū)動(dòng)程序軟件包提供給用戶6個(gè)API函數(shù),這6個(gè)函數(shù)都在USB應(yīng)用層中定義,功能描述如表1所列。


    下面以接收和發(fā)送數(shù)據(jù)任務(wù)為例,演示了一個(gè)任務(wù)從端點(diǎn)2發(fā)送1024個(gè)字節(jié)。部分源代碼如下:
#define RW_NUMS 1024 //任務(wù)收發(fā)數(shù)據(jù)字節(jié)數(shù)
void TaskRecl(void*pdata)
{#if OS_CRlTICAL_METHOD==3
//為CPU狀態(tài)寄存器分配存儲(chǔ)空間
OS_CPU_SR cpu_sr;
#endif
INT8U Buff[RW_NUMS]; //接收及發(fā)送緩沖區(qū)
INT8U ack=0x01; //應(yīng)答主機(jī)數(shù)值
INT8U err; //函數(shù)返回值
pdata=pdata; //避免編譯器警告
for(;;){
OSSemPend(TaskReel_Sere,0,&-err);//等待TaskStart的命令
err=WritePortl(1,&ack,200); //應(yīng)答USB主機(jī)
if(err==USB_NO_ERR){ //應(yīng)答正確
err=ReadPort2(RW_NUMS,Buff,200);//接收數(shù)據(jù)
OSTimeDly(1); //延時(shí)一個(gè)時(shí)鐘周期
if(err==USB_NO_ERR){ //接收正確
Buff[0]=OSPrioCur; //標(biāo)識(shí)該任務(wù)
err=WritePort2(RW_NUMS,Buff,200);//發(fā)送數(shù)據(jù)
}
}
}}

2.2 CY7063231軟件設(shè)計(jì)
    USB 外圍控制器CY7C63231控制nRF2401射頻芯片,同時(shí)與LPC2210微控制器的USB口相連,實(shí)現(xiàn)無(wú)線數(shù)據(jù)的接收和發(fā)送。下面以接收無(wú)線數(shù)據(jù)為例。主程序UsbTaskLoop,它是一個(gè)無(wú)限循環(huán),僅僅在中斷的時(shí)候跳出。程序檢測(cè)nRF2401的DRl和DR2引腳,當(dāng)DRl上的電平為高時(shí),產(chǎn)生中斷跳到Receivechl子程序,當(dāng)DR2
上的電平為高時(shí),產(chǎn)生中斷跳到Receivech2子程序。USBSend程序負(fù)責(zé)從端口1向上位機(jī)發(fā)送數(shù)據(jù),WaitforAck程序等待上位機(jī)對(duì)端口1的應(yīng)答信號(hào),Receivechl和Receivech2程序分別從nRF2401的通道1 和通道2接收數(shù)據(jù)。最后調(diào)用DATAOUT把數(shù)據(jù)傳給上位機(jī),然后調(diào)用WaitforAck。Prg2401程序段負(fù)責(zé)對(duì)nRF2401進(jìn)行操作控制,能夠通過(guò)設(shè)置不同的參數(shù)使nRF2401工作在三種不同的工作模式。


結(jié)  語(yǔ)
    本系統(tǒng)采用32位嵌入式微處理器進(jìn)行核心控制,具有強(qiáng)大的數(shù)據(jù)處理能力。該設(shè)計(jì)可以通過(guò)無(wú)線局域網(wǎng)進(jìn)行無(wú)線傳輸,并且可在ARM中對(duì)無(wú)線接收的數(shù)據(jù)進(jìn)行處理,以進(jìn)一步應(yīng)用于圖像處理,智能監(jiān)控,以及遠(yuǎn)程電視電話會(huì)議等。因此,基于ARM的嵌入式USB口無(wú)線接收處理系統(tǒng)具有廣闊的應(yīng)用前景和市場(chǎng)。

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請(qǐng)聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請(qǐng)及時(shí)聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫?dú)角獸公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

倫敦2024年8月29日 /美通社/ -- 英國(guó)汽車技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認(rèn)證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開(kāi)發(fā)耗時(shí)1.5...

關(guān)鍵字: 汽車 人工智能 智能驅(qū)動(dòng) BSP

北京2024年8月28日 /美通社/ -- 越來(lái)越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運(yùn)行,同時(shí)企業(yè)卻面臨越來(lái)越多業(yè)務(wù)中斷的風(fēng)險(xiǎn),如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報(bào)道,騰訊和網(wǎng)易近期正在縮減他們對(duì)日本游戲市場(chǎng)的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國(guó)國(guó)際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)開(kāi)幕式在貴陽(yáng)舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國(guó)國(guó)際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語(yǔ)權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機(jī) 衛(wèi)星通信

要點(diǎn): 有效應(yīng)對(duì)環(huán)境變化,經(jīng)營(yíng)業(yè)績(jī)穩(wěn)中有升 落實(shí)提質(zhì)增效舉措,毛利潤(rùn)率延續(xù)升勢(shì) 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長(zhǎng) 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競(jìng)爭(zhēng)力 堅(jiān)持高質(zhì)量發(fā)展策略,塑強(qiáng)核心競(jìng)爭(zhēng)優(yōu)勢(shì)...

關(guān)鍵字: 通信 BSP 電信運(yùn)營(yíng)商 數(shù)字經(jīng)濟(jì)

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺(tái)與中國(guó)電影電視技術(shù)學(xué)會(huì)聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會(huì)上宣布正式成立。 活動(dòng)現(xiàn)場(chǎng) NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長(zhǎng)三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會(huì)上,軟通動(dòng)力信息技術(shù)(集團(tuán))股份有限公司(以下簡(jiǎn)稱"軟通動(dòng)力")與長(zhǎng)三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉