紅外線遙控技術是利用紅外線來傳送指令的技術,它在家用電器、玩具、安全保衛、軍事技術、工業控制以及人們的日常生活等許多領域的應用十分廣泛。數字信號處理器(DSP)在實時、快速地進行數字信號處理方面無疑是佼佼者。TMS320C6201芯片是TI公司推出的并行處理的數字信號處理器,采用定點運算,是目前市場上所有的DSP芯片中速度較快、處理功能較強的DSP處理器,有廣闊的應用前景。本文即利用TMS320C6201芯片作為微處理器,成功地開發設計出了紅外線信號實時監視報警系統。本系統具有反應靈敏、準確度高、體積小、功耗低、功能強大、抗干擾能力強、成本低等特點。
1? 紅外線遙控原理及DSP芯片
1.1 紅外線遙控原理
紅外線是一種電磁射線,其特性等同于無線電或X射線。人眼可見的光波長為380~780nm,波長為780nm~1mm的長射線稱為紅外線。部分光的光譜分布如圖1所示。紅外線光電開關(光電傳感器)是光電接近開關的簡稱,它是利用被檢測物體對紅外光束的遮光或反射,由同步回路選通而檢測物體的有無,其物體不限于金屬,對所有能反射光線的物體均可檢測。鏡反射式光電開關是集發射器與接收器于一體的器件。光電開關發射器發出的光線經過反射鏡反射回接收器,當被檢測物體經過且完全阻斷光線時,光電開關就產生了檢測開關信號,其工作示意圖如圖2所示。本系統選用的是浙江洞頭光電開關廠的SQ3M-3鏡反射型NPN4線、開—閉式的光電開關,其特性如下。
?
檢測距離3m。回差值≤20%。響應頻率200Hz。指向角3°~20°。工作電壓10~30V。靜態電流≤30mA,輸出電流≥200mA。殘留電壓≤1V。抗干擾程度:能承受峰值為±1000V,脈寬為1μs的電壓沖擊。以電纜方式連接(長度2m)。防護等級IP50(IEC規格)。環境照度:太陽光11000Lux(最大),日光燈3000Lux(最大)。絕緣電阻≥50MΩ。耐電壓AC1500V(50/60Hz1分鐘),抗振程度:10~55Hz(周期每分鐘),復振幅為1mm且X、Y、Z方向各2小時。抗沖擊性:500M/s2(50g)且X、Y、Z方向各3次。環境溫度:工作時在-30℃~+80℃(未結冰狀態下),儲存時在-30℃~+80℃(未結冰狀態下)。環境濕度:工作時為35%~95%RH。指示燈動作顯示為紅色LED。
1.2 DSP芯片
TMS320C6201芯片是高速、高效定點數字信號處理芯片,是TI公司20世紀90年代后期產品。它采用流水線操作方式,最大處理能力為1600MIPS,完成1024定點FFT的時間只需要70μs。由于具有特殊的velociTI結構及獨特的指令集,所以它的運算能力、并行性和靈活性都非常強大。同時其外圍設備(DMA控制器、主機接口(HPI)、中斷選擇器等)能夠很方便地與其他外圍設備進行數據交換。TMS320C6201內部結構圖如圖3所示,由3個主要部分組成:CPU內核、外設和存儲器。CPU內核中的8個功能單元可以完成并行運行,功能單元執行邏輯、位移、乘法、加法和數據尋址等操作。它的超長指令字(VLIW)方式,其單指令字長32位,每條32位指令占用1個功能單元。取指令、指令分配和指令譯碼單元每一周期都可以從程序存儲器到功能單元傳遞8條指令,這8條指令組成1個指令包,總字長為8×32=256位。芯片內部設置了專門的指令分配模塊,可以將每個256位指令包分配到功能單元中,并由8個功能單元并行運行。其片內存儲器總容量為1MB,其中2KB×256用于程序內存和程序cache;64KB用于數據內存和數據cache,用戶可以訪問8位、16位和32位數據。它的外設模塊包括多通道緩沖串口、時鐘、外部存儲器接口EMIF、DMA控制器、主機口和power-down邏輯等。DMA控制器可以在存儲器空間的各區域間控制轉換數據;外部存儲器接口EMIF可以訪問的片外存儲器最大容量為64MB,數據總線寬度為32位,同時也提供對8位和16位存儲器的讀寫支持;16位寬的主機口HPI可以訪問TMS320C6201的所有存儲空間和設備。
2?系統組成及工作原理
系統的組成框圖如圖4所示,其中DSP芯片C6201與信號調理電路、外擴存儲器等一起構成高速的數據采集模塊,這些模塊與相應的軟件結合,完成對數據的采集、存儲、故障判斷和報警等任務。當接收到光電開關的信號后,C6201向上位機發出中斷請求。若該中斷未被屏蔽,則上位機響應中斷,并轉入中斷服務程序。中斷服務程序將存儲在C6201的外擴SDRAM中的數據通過HPI一次性讀入上位機,然后返回中斷。而上位機則根據采集的數據作出報警或消除誤報等一系列動作。由于上位機與C6201之間的數據傳輸采用的是帶地址自增的讀方式,讀取對象是C6201的外部SDRAM,其最大傳輸速率為200Mbps。所以,C6201與上位機的通信非常迅速,系統具有很強的實時性。為了保證C6201HPI與接口PCI9052協調穩定地工作,除了要有合理的硬件電路外,還必須對PCI9052的內部寄存器進行準確的配置(限于篇幅,這里不作介紹)。
2.1 系統主要電路
2.1.1 DSP與上位機的連線
DSP與上位機連線圖如圖5所示,C6201由主機口HPI通過PLX公司的PCI9052與上位機連接。C6201的HPI是一個16位寬度的并行端口,上位機掌握該接口的主控權。通過它可以直接訪問CPU存儲空間,還可以直接訪問DMA輔助通道,以完成HPI對存儲空間的訪問。主機和CPU都可以對HPI控制寄存器(HPIC)進行訪問,主機方還可以訪問HPI地址寄存器(HPIA)、HPI數據寄存器(HPID)以及C6201的存儲映射的外圍設備。HPI與CPU存儲空間的互連是通過DMA控制器實現的。它們借助專門的地址和數據寄存器,通過DMA輔助通道,完成HPI對存儲空間的訪問。PCI9052是PLX公司的低成本PCI接口芯片,它支持PCI2.1協議,在33MHz的總線時鐘頻率下峰值傳輸速率可達132MHzps,改善了數據傳輸的“瓶頸”問題,而且還不會浪費資源,同時還可以實現資源的自動配置。因為C6201的I/O工作電壓為3.3V,PCI9052工作電壓為5V,為了使電平匹配,必需通過SN74CBTD3384進行電平轉換。SN74CBTD3384是TI公司的10位雙向總線轉換器,其輸入、輸出引腳一一對應,分別排在芯片的二側,圖5中共用了3片SN74CBTD3384。NM93CS46是PLX公司的串行E2PROM,它用于加載PCI9052的配置信息,并按一定的順序存放PCI9052的設備號(DID)、供應號(SID)、供應商號(VID)、子設備號(SDID)、子供應商代號(SVID)、PCI總線與局部總線之間的地址空間映射關系、片選取地址、控制位、狀態位及其他雜項配置等。用MAX706作為硬件看門狗電路,在系統“死機”或程序“跑飛”時使系統能夠自動復位,以避免系統癱瘓。
2.1.2 DSP與外部存儲器電路的連線
TMS320C6201的EMIF是外部存儲器與DSP的接口,CPU訪問外部存儲器時必須通過EMIF。本系統采用同步動態型64Mb的SDRAM,DSP與SDRAM的接口如圖6所示,DSP與16位的ROM接口如圖7所示(其他電路略)。
2.2 軟件設計及算法分析
由于C6201的指令集較簡單,完成DSP算法中的一些指令(如乘、加、循環等)需要循環體,使程序設計復雜,所以軟件設計采用了軟件流水線技術,并利用C6201的8個功能單元,讓程序并行運行。因系統對實時性要求高,故CPU采用了中斷工作方式。主程序對硬件初始化后,則等待中斷。中斷服務程序主要完成數據的采集與識別工作。系統中斷脈沖時間約為幾毫秒,但中斷處理程序必須在這個時間內完成(C6201能保證在短時間內完成相關函數、FFT等復雜的運算)。
為保證系統的準確性、減少誤報率,本系統采用了識別算法。其思路是:由于被檢測物體經過且完全阻斷某個光電開關至少要有幾十到幾百毫秒的時間,因而光電開關信號會在連續的數個周期中存在,且它們的函數有很強的自相關性。但微處理器可以對信號進行多次采樣,加以分析計算,以減少漏報率。
軟件由二大部分組成:一是運行在DSP內的系統監控程序,二是運行在上位機的圖形界面用戶程序。前者的實時性很強,故采用TMS320C6201匯編語言編寫,經匯編、鏈接、調試后將目標代碼通過JTAG口下載到DSP內。它的主要功能:(1)系統初始化。完成ROM、RAM、中斷以及定時器等外設初始化設置。(2)定時采樣。將采集的數據經濾波處理后存入數據RAM中。(3)對數據作FFT運算。根據選擇好的參數配置控制端口的工作等(限于篇幅,具體程序不作介紹)。
3? 結束語
本DSP系統的開發是在ICETEK/EVM-AD40M高速采集板背板系統上進行的,選用的是TI公司的原裝TMS320C6201EVM處理板,十分方便。而且由于利用了DSP硬件結構更適合作數據處理的特點,使程序用較少的時間就能完成比較復雜的運算,加之采用的并行技術、先進的數據分析算法和優化的編程方法,使得其在報警的速度和準確度方面得到了保證。該系統具有誤報率及漏報率低、時效性和實時性強的特點,己被做成產品,在一些超市、銀行、高級飯店、交通管理以及智能大廈等場所被使用,效果良好,其應用前景十分看好。
評論
查看更多