新聞中心

EEPW首頁 > 手機(jī)與無線通信 > 設(shè)計(jì)應(yīng)用 > 基于PDIUSBD12的無線USB接口收發(fā)器的設(shè)計(jì)

基于PDIUSBD12的無線USB接口收發(fā)器的設(shè)計(jì)

作者: 時(shí)間:2009-10-19 來源:網(wǎng)絡(luò) 收藏

1引言
  通用串行總線(Universal Serial Bus)為個(gè)人計(jì)算機(jī)外圍設(shè)備輸入輸出提供了新的標(biāo)準(zhǔn)。他使設(shè)備具有快速、熱插拔、即插即用、自動(dòng)配置的能力,并標(biāo)準(zhǔn)化了設(shè)備連接。同時(shí),的級(jí)聯(lián)星型拓?fù)浣Y(jié)構(gòu)不僅使得連接外部設(shè)備多達(dá)127個(gè),還解決了資源沖突、中斷請(qǐng)求、直接數(shù)據(jù)通道等問題。傳統(tǒng)的一般以RS232PC機(jī)通信,其硬件實(shí)現(xiàn)簡(jiǎn)單。如果改為,將使/有線具備USB通信的諸多優(yōu)點(diǎn)。
  是一個(gè)完全符合USB11規(guī)范,性能優(yōu)化的USB器件,通常用于微控制器的系統(tǒng),并與微控制器通過高速通用并行接口進(jìn)行通信,也支持本地DMA傳輸。該器件采用模塊化的方法實(shí)現(xiàn)一個(gè)USB接口。允許在眾多可用的微控制器中選擇最合適的作為系統(tǒng)微控制器。允許使用現(xiàn)存的體系結(jié)構(gòu)并使固件投資減到最小。這種靈活性減少了開發(fā)時(shí)間、風(fēng)險(xiǎn)和成本,是開發(fā)低成本且高效的USB外圍設(shè)備解決方案的一種最快途徑。
  根據(jù)現(xiàn)場(chǎng)實(shí)際情況,選用TDX230RTMD電臺(tái)及配套天線,該產(chǎn)品可提供語音或數(shù)據(jù)信號(hào)的透明傳輸,能適應(yīng)各種點(diǎn)對(duì)點(diǎn)、點(diǎn)對(duì)多點(diǎn)的數(shù)據(jù)通信方式,具有收發(fā)一體、安裝方便、使用簡(jiǎn)單、性價(jià)比高、穩(wěn)定可靠等特點(diǎn),廣泛用于各種數(shù)據(jù)的遠(yuǎn)程采集、控制系統(tǒng)之中。
  結(jié)合上述兩種技術(shù)的優(yōu)點(diǎn),了一種USB接口,可進(jìn)行遠(yuǎn)距離數(shù)據(jù)的無線傳輸。

本文引用地址:http://www.butianyuan.cn/article/157810.htm

2硬件電路
  本文的無線USB接口收發(fā)器的硬件電路總體框圖如圖1所示。

  Philips公司的芯片符合USB1.1規(guī)范,采用28SOTSSOP封裝,可以在3.3±0.3 V或3.65.5 V兩種電壓下工作,內(nèi)部集成SIE320 BFIFO緩存、收發(fā)器以及電壓調(diào)整電路和終結(jié)電阻器,提供2 MB/s速率的并行接口,具有全自治本地DM A功能,芯片提供的多重中斷模式有利于批量和等時(shí)數(shù)據(jù)傳輸模式。芯片還提供了可編程時(shí)鐘、上電復(fù)位和低電壓復(fù)位電路。芯片提供了雙倍的輸入輸出緩沖,在批量模式達(dá)到1MB/s數(shù)據(jù)傳輸率,同步模式也可達(dá)到1 MB/s數(shù)據(jù)傳輸率。
  微控制器MCU采用Atmel公司的89C52。MCU的串口與模塊式無線數(shù)傳收發(fā)模塊RXDTXD直接相連,接在MCU的數(shù)據(jù)總線上,中斷引腳INTN接在MCU的中斷輸入上。PDIUSBD1. 2會(huì)對(duì)USB總線上的數(shù)據(jù)自動(dòng)進(jìn)行處理,將事件寫入自身的中斷寄存器,并拉低INTN通知M CUMCU響應(yīng)中斷,并讀取中斷寄存器的內(nèi)容進(jìn)行判斷處理。如果是要求數(shù)據(jù)發(fā)送,則將數(shù)據(jù)通過串口發(fā)往模塊式無線數(shù)傳收發(fā)模塊,由其發(fā)射出去。同樣模塊式無線數(shù)傳收發(fā)模塊接收到數(shù)據(jù)后觸發(fā)串口中斷,MCU響應(yīng)中斷將數(shù)據(jù)送入USB總線。由于總線供電方式不穩(wěn)定,整套系統(tǒng)使用自供電方式。


2所示是采用了1個(gè)89C52的微控制器與PDIUSBD12集成電路相互連接圖。由于89C52是應(yīng)用廣泛的一種單片機(jī)微控制器,軟件開發(fā)工作者在其基礎(chǔ)上開發(fā)大量的軟件開發(fā)平臺(tái),大多數(shù)電子工程師對(duì)其都比較熟悉。因此,用戶可以利用比較熟悉的微處理器(89C52)進(jìn)行核心程序的設(shè)計(jì),即用89C52來實(shí)現(xiàn)其所需的功能,具體將數(shù)據(jù)信號(hào)轉(zhuǎn)換為符合USB規(guī)則的信號(hào),則完全由PDIUSBD12來完成。這樣一來,既可以利用89C52中豐富的軟件資源,又可以利用USB總線技術(shù)的即插即用、熱插拔等特性,使開發(fā)設(shè)備的成本降低、開發(fā)周期縮短。

3軟件部分設(shè)計(jì)
  軟件設(shè)計(jì)主要包括兩部分:一是USB設(shè)備端的單片機(jī)軟件,主要完成USB協(xié)議處理與數(shù)據(jù)交換,以及其他應(yīng)用功能程序。二是上位管理機(jī)端的程序,由USB通信程序和用戶服務(wù)程序通過USB通信程序與系統(tǒng)的設(shè)備接口通信,由系統(tǒng)完成USB協(xié)議的處理與數(shù)據(jù)傳輸。
3.1單片機(jī)方面軟件設(shè)計(jì)
  單片機(jī)控制程序由三部分組成:初始化單片機(jī)和所有的外圍電路(包括PDIUSBD12);主循環(huán)部分,其任務(wù)是可中斷的;讀寫中斷服務(wù)程序,其任務(wù)是對(duì)時(shí)間敏感的,必須馬上執(zhí)行。
  單片機(jī)和PDIUSBD12通信主要是靠單片機(jī)給PDIUSBD12發(fā)命令和數(shù)據(jù)實(shí)現(xiàn)的。PDIUSBD12的命令字可以分為三種:初始化命令字、數(shù)據(jù)流命令字和通用命令字。PDIUSBD12給出了各種命令的代碼和地址,單片機(jī)先給PDIUSBD12的命令地址發(fā)命令,根據(jù)不同命令的要求再發(fā)送和讀出不同的數(shù)據(jù)。因此,可以編寫不同功能的函數(shù),用函數(shù)實(shí)現(xiàn)各個(gè)命令,之后直接調(diào)用函數(shù)即可。
  后臺(tái)D12中斷服務(wù)程序和模塊式無線數(shù)傳收發(fā)模塊中斷服務(wù)程序與前臺(tái)主循環(huán)程序之間的數(shù)據(jù)交換,通過事件標(biāo)志和數(shù)據(jù)緩沖區(qū)來實(shí)現(xiàn)。后臺(tái)中斷服務(wù)程序由中斷觸發(fā),通過標(biāo)志位與主模塊通信。主模塊循環(huán)掃描各標(biāo)志位,對(duì)相應(yīng)的標(biāo)志位做出處理。例如,模塊式無線數(shù)傳收發(fā)模塊接收到有效數(shù)據(jù)后,送入串口觸發(fā)串口中斷,進(jìn)入模塊式無線數(shù)傳收發(fā)模塊中斷服務(wù)程序,將數(shù)據(jù)接收后放入數(shù)據(jù)緩沖區(qū),然后設(shè)置UART_DATA標(biāo)志,退出子模塊。主模塊查詢到UART_DATA被置位,則調(diào)用writendpoint()程序?qū)?shù)據(jù)發(fā)往PC。
  根據(jù)USB協(xié)議,任何傳輸都是由主機(jī)開始的,這樣89C52做他的前臺(tái)工作,等待中斷。主機(jī)首先要發(fā)令牌包(TOKEN PACKET)給PDIUSBD12D12收到令牌包后就給89C52發(fā)中斷,89C52進(jìn)入中斷服務(wù)程序,首先讀D12的中斷寄存器,判斷USB令牌包的類型,然后執(zhí)行相應(yīng)的操作。因此,USB89C52程序主要就是中斷服務(wù)程序的編寫。在USB89C52程序中要完成對(duì)各種令牌包的響應(yīng),其中比較難處理的是Setup包,主要是終端0的編程。單片機(jī)軟件流程圖如圖3所示


3.2主機(jī)方面軟件設(shè)計(jì)
  上位機(jī)的程序主要調(diào)用4個(gè)API函數(shù)。根據(jù)上位機(jī)對(duì)USB端口的使用情況,用Delphi調(diào)用這4個(gè)函數(shù)就可以實(shí)現(xiàn)上位機(jī)對(duì)USB端口的操作。
  Philips為用戶提供了D12的驅(qū)動(dòng)程序,但是用戶需要根據(jù)自己的要求更改inf文件,然后在Windows DDK中重新編譯連接生成新的驅(qū)動(dòng)程序,以滿足實(shí)際應(yīng)用的需要。
  在編寫主機(jī)應(yīng)用程序時(shí)要注意對(duì)主終端的操作,應(yīng)該在程序中將數(shù)據(jù)緩存加大,Philips提供的驅(qū)動(dòng)程序支持64 B~64 kB的緩存,這樣可以有效減少設(shè)備和主機(jī)的握手時(shí)間,提高傳輸速度。程序編譯時(shí),需要注意保持編譯的路徑。

4結(jié)語
  本文結(jié)合USB接口和無線通信兩種技術(shù)的優(yōu)點(diǎn),應(yīng)用在多點(diǎn)測(cè)溫控制系統(tǒng)中,為PC和智能儀器之間提供了一種快速方便的數(shù)據(jù)交換方式。
  采用對(duì)單片微處理器直接擴(kuò)展USB接口技術(shù),連接簡(jiǎn)單,控制方便。隨著USB技術(shù)的不斷發(fā)展,USB也會(huì)和串口一樣獲得廣泛的應(yīng)用。



評(píng)論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉