基于ARM-Linux的MAX1303接口與驅(qū)動(dòng)程序設(shè)計(jì)
摘要:針對數(shù)據(jù)采集與處理系統(tǒng)的應(yīng)用需求,設(shè)計(jì)了嵌入Linux的ARM9處理器LPC3250與16位AD采樣芯片MAX1303的硬件接口和驅(qū)動(dòng)程序。首先,描述了LPC3250和MAX1303的性能、特點(diǎn)以及硬件接口電路設(shè)計(jì)方案。然后,在硬件平臺(tái)的基礎(chǔ)上,詳細(xì)地闡述了嵌入式Linux下MAXl303驅(qū)動(dòng)程序的組成模塊和具體實(shí)現(xiàn)方法,并給出了部分源代碼以及對設(shè)備驅(qū)動(dòng)的測試方法。測試結(jié)果表明,系統(tǒng)工作正常、穩(wěn)定,采樣結(jié)果正確,具有實(shí)際工程應(yīng)用價(jià)值。
關(guān)鍵詞:LPC3250;MAX1303;SPI;嵌入式Linux;設(shè)備驅(qū)動(dòng)
在數(shù)據(jù)采集系統(tǒng)中,通常是通過傳感器將自然世界的物理量轉(zhuǎn)化成電量,電量是模擬量,必須經(jīng)過模/數(shù)轉(zhuǎn)換才能被系統(tǒng)的處理器讀取?,F(xiàn)在的很多微處理器都有片內(nèi)AD,但這些AD多數(shù)是8位、10位或者12位,有時(shí)候很難滿足精度要求。所以需要利用處理器的接口資源外擴(kuò)精度較高的AD芯片。然而精度越高,價(jià)格越貴。所以在選擇AD芯片時(shí),必須充分考慮這兩個(gè)方面。本系統(tǒng)在對采樣精度和價(jià)格進(jìn)行權(quán)衡后,決定選擇16位模/數(shù)轉(zhuǎn)換器。由于設(shè)計(jì)的數(shù)據(jù)采集系統(tǒng)放置于環(huán)境惡劣的野外,所以全部器件都要滿足工業(yè)級(jí)標(biāo)準(zhǔn),所以最終選擇了MAXIM公司的MAX1303。處理器選用了恩智普公司的ARM9微處理器LPC3250。在此基礎(chǔ)上,設(shè)計(jì)了硬件連接,以及Linux2.6.29內(nèi)核下的設(shè)備驅(qū)動(dòng)程序,并通過編寫的應(yīng)用程序?qū)︱?qū)動(dòng)程序進(jìn)行了測試。
1 芯片介紹
1.1 LPC3250簡介
LPC3250是恩智普公司推出的、采用RISC結(jié)構(gòu)、基于ARM926EJ-S內(nèi)核的32位工業(yè)級(jí)處理器,可工作于-40~+85℃的范圍內(nèi)。它的最高工作頻率可達(dá)266 MHz,具有完整的存儲(chǔ)管理單元(MMU),可以嵌入Linux/Wince等需要MMU支持的操作系統(tǒng);高達(dá)256 kB的內(nèi)部SRAM可用于數(shù)據(jù)和代碼存儲(chǔ);32 kB數(shù)據(jù)高速緩存和32 kB指令高速緩存;矢量浮點(diǎn)協(xié)處理器具有硬件浮點(diǎn)計(jì)算功能。另外,片內(nèi)有SD/MMC卡主機(jī)控制器和以太網(wǎng)控制器使系統(tǒng)實(shí)現(xiàn)文件存儲(chǔ)和以太網(wǎng)功能變得簡單,這對于數(shù)據(jù)采集系統(tǒng)非常有用。
1.2 AD芯片MAX1303簡介
MAX1303是MAXIM公司推出的工業(yè)級(jí)、低功耗、多量程、16位精度的模/數(shù)轉(zhuǎn)換芯片,采用+5 V單電源供電,最高采樣率可達(dá)115kbps??墒褂?4.096 V片上基準(zhǔn)或者3.800到4.136 V之間的外部電壓基準(zhǔn)。采用20引腳的TSOP封裝。它的引腳如圖1所示。
從引腳圖可以看出,芯片外部有多種電源引腳,這些引腳對應(yīng)芯片內(nèi)部獨(dú)立的功能模塊。對芯片采用獨(dú)立的電源供電可以盡可能的使工作環(huán)境保持低噪聲。第16、17引腳在使用外部電壓基準(zhǔn)時(shí)分別連接AVDD和基準(zhǔn)電壓,在使用芯片內(nèi)部基準(zhǔn)時(shí),分別通過0.01μF和1μF的電容旁路到AGND1即可。其他引腳功能如表1所示。
CH0-CH4支持4路單端輸入,或者2路差分輸入。SSTRB在AD轉(zhuǎn)換器的某些工作模式下可指示轉(zhuǎn)換狀態(tài)。另外4種數(shù)字接口可通過SPI/OSPI /MICROWIRE兼容的串行接口與2.7 V至5.25 V的系統(tǒng)連接。
MAX1303支持7種單端輸入范圍或者3種差分輸入范圍,有7種工作模式。這些都可以通過輸入控制字進(jìn)行配置。
評論