用PC104控制模塊和C51單片機實現(xiàn)AD檢測板
由PC104控制模塊和Cgnal C8051F06x單片機組成的控制檢測板可用于高端檢測設(shè)備中,充分利用PC104控制模塊和單片機豐富的軟硬件資源,可用于各種檢測應(yīng)用中。
在開發(fā)檢測設(shè)備的過程中,可采用核心板加底板的設(shè)計方法來降低技術(shù)難度,實現(xiàn)可編程、高性能、開發(fā)簡單、擴展性強的設(shè)計方案,并且稍加改動就可以很容易地應(yīng)用到其他領(lǐng)域。
核心板采用PC104控制模塊,利用其強大的處理能力來處理數(shù)據(jù),如數(shù)據(jù)存儲、數(shù)據(jù)分析、數(shù)據(jù)評估,尤其是友好的GUI簡化了用戶的使用難度。底板采用Cgnal8051F06x、雙口RAM和緩沖寄存器,利用C8051F06X單片機豐富的軟硬件資源來實現(xiàn)可編程,可設(shè)置的各種復(fù)雜功能。核心板與底板之間只有一個通信路徑PC104總線,可以分開設(shè)計,分別實現(xiàn),簡化了開發(fā)難度。
系統(tǒng)硬件結(jié)構(gòu)及工作原理
- 系統(tǒng)結(jié)構(gòu)及特點
系統(tǒng)有核心板PC104控制模塊與底板Cgnal C8051F06x為核心的AD檢測板組成,兩板之間通過PC104總線相連,分別供電,任何一個電路板出現(xiàn)問題都不會影響另一塊電路板的工作。
系統(tǒng)硬件框圖如圖1所示,主要包括核心板、底板兩部分。核心板主要包括PC104模塊、液晶、觸摸屏、其他擴展模塊,以及電源和與底板相連的PC104總線。底板主要包括C8051F06X控制核心單元、數(shù)字電路、模擬電路、雙口RAM、緩沖寄存器和專用電源等。
圖1 系統(tǒng)硬件原理框圖
下面介紹系統(tǒng)工作原理。底板上電復(fù)位后讀出存儲在單片機內(nèi)部閃存中的設(shè)置值,并按照設(shè)置值初始化相關(guān)的數(shù)字電路和模擬電路部分,然后將雙口RAM的控制權(quán)交給核心板。進入正常工作狀態(tài)后,不斷查詢雙口RAM的協(xié)議區(qū)和緩沖寄存器。按接收到的核心板的命令來執(zhí)行,并將執(zhí)行結(jié)果通過雙口RAM反饋給核心板,然后核心板再根據(jù)底板的反饋數(shù)據(jù)進行相應(yīng)的處理。上電后,核心板首先初始化相關(guān)硬件,如PC104控制模塊、液晶、觸摸屏和其他擴展模塊。啟動完畢后開始查詢底板的工作狀態(tài),當?shù)装鍦蕚浜媒邮湛刂谱謺r開始啟動GUI程序,并將觸摸屏的輸入權(quán)交給用戶,此時用戶就可通過觸摸屏和液晶顯示的GUI界面來控制整個系統(tǒng)來完成相應(yīng)的功能。
控制核心PC104控制模塊具有豐富的軟硬件資源,包括專用的顯卡控制器、GUI軟件、多種操作系統(tǒng)的支持、多功能的電子盤存儲方案、鐵電存儲器或電池后備的512K SRAM存儲器、用于擴展外設(shè)的ISA總線接口、以太網(wǎng)控制器。在BIOS中集成的虛擬顯示技術(shù)可以使用戶在虛擬顯環(huán)境中進行編程和調(diào)試,可以充分利用現(xiàn)有PC上大量的優(yōu)秀軟件作為開發(fā)工具。
顯示器采用TFT 640X480 6.3英寸256色的LCD。采用觸摸屏做為輸入設(shè)備,通過軟件編程來實現(xiàn)用觸摸屏的輸入,代替標準的鍵盤輸入和鼠標輸入,還可實現(xiàn)手寫筆收入。系統(tǒng)還可以增加GPRS模塊、紅外模塊或其他無線通信模塊,提供無線通信功能。
底板的控制核心是C8051F06X單片機,由單片機可以實現(xiàn)各種外設(shè)在CPU引腳上的配置,實現(xiàn)各種復(fù)雜的檢測模式,如采樣頻率、采樣長度、采樣闞值電壓和采樣范圍均可設(shè)置,除此之外還要實現(xiàn)各種狀態(tài)的指示,以及其他外設(shè)的配置。
為解決底板和核心板之間的通信問題,在設(shè)計中采用雙口RAM加緩沖寄存器的解決方案。
- 底板實現(xiàn)
因為要用于手持設(shè)備,所以在供電上使用12V的電池供電。為提高系統(tǒng)的穩(wěn)定性,在電源模塊上使用3個DC/DC分別為底板、核心板和模擬電路供電,電路如圖2所示。
圖2 底板電路電源部分原理圖
POWER為電源的輸入端,即電池供電的輸入端。DC0核心板供電電路,主要向核心板提供電源。DC1為模擬電路供電電源。DC2為外接傳感器供電。L0為5V電源指示燈。
底板電路模擬電路部分如圖3所示。
圖3 模擬電路部分
AIN為傳感器的接入插座。電阻R04和R08,R12和R10分別與LF357構(gòu)成反向比例放大電路,將傳感器弱電信號放大到CPU可以處理的信號。R03和R11為此放大電路的匹配電阻,阻值的計算公式為R03=R04//R08,R11=R12//R10。C10和C13為隔直電容,C11和C14為濾波電容用來濾除信號中的噪聲。
底板的核心部分電路如圖4所示。
圖4 底板的核心電路
U1底板的核心CPU C8051F06X為整個底板的核心,底板的所有操作均由其控制實現(xiàn)。U4為地址鎖存器373。U9為總線驅(qū)動器,實現(xiàn)3.3V到5V的轉(zhuǎn)化。本部分電路均為3.3V器件。
底板核心器件的供電電路及其他部分電路如圖5所示。
圖5 底板核心器件的供電電路和其他電路
U10為1117用來實現(xiàn)將5V輸入變成3.3V輸出。L3為工作狀態(tài)指示燈。FMQ1為蜂鳴器。C30~C36為去偶電容。R26、R27、C21和C22構(gòu)成上電和按鍵復(fù)位電路。L1、L2為電源指示燈。JTAG則為JTAG調(diào)試端口。
PC104總線電路原理圖如圖6所示。
圖6 PC104總線的電路原理圖
由于底板與核心板的連接方式是通過PC104總線相連,并且由于核心板是5V供電,而底板核心器件均是3.3V,所以在原理圖上U5、U7、U8、U11、U12都是將5V輸入轉(zhuǎn)化成3.3V輸出。
軟件設(shè)計
- 底板部分程序
底板是本方案中檢測部分,所有與信號有關(guān)的檢測部分均在此板上實現(xiàn)。因此在底板程序設(shè)計上采用模塊化設(shè)計,所有模塊均可通過邏輯宏加載卸載。
對不使用的功能可以使用#undef宏指令或用//將其注釋掉均可。采用這種編程的優(yōu)勢是,當系統(tǒng)增加功能時只需加載相應(yīng)的模塊即可,對不需要的模塊可以將其關(guān)閉,即可節(jié)省閃存空間,又可加快執(zhí)行效率。
- 核心板部分PC104控制模塊
核心板是本方案設(shè)計中控制核心,AD檢測底板的所有功能均由其控制。在其上主要實現(xiàn)GUI界面,編程開發(fā)環(huán)境可以使用VB、VC、BC、C++Builder。主要流程為AD板檢測、GUI界面設(shè)計和數(shù)據(jù)處理,等等。在本方案中使用Visual C++ 6.0開發(fā)環(huán)境來開發(fā)。
設(shè)置選項主要管理與所有與系統(tǒng)有關(guān)的設(shè)置,例如AD采樣方式設(shè)置(差分、單端)、采樣頻率、采樣長度、采樣闞值電壓、采樣窗口電壓、系統(tǒng)時鐘設(shè)置等等;文件管理主要管理存儲器如CF卡上的存儲空間,例如存儲空間有多大,占用了多少,還剩下多少,等等;顯示屬性則主要顯示整個系統(tǒng)的所有屬性設(shè)置值和出廠的默認值等;現(xiàn)場檢測是將現(xiàn)場檢測的數(shù)據(jù)用曲線的形式表現(xiàn)出來,并可存儲成圖形文件的形式為以后分析使用;數(shù)據(jù)分析則是將現(xiàn)場檢測的數(shù)據(jù)、曲線與理想狀態(tài)的數(shù)據(jù)、曲線進行比較,并給出產(chǎn)生數(shù)據(jù)、曲線差異的可能原因和解決方法。
提高可靠性
為提高本系統(tǒng)的可靠性,除在硬件電路上加電源層、地面層、每個IC都加去藕電容外,在軟件設(shè)計上也采用了一些獨特的設(shè)計來增加系統(tǒng)的可靠性。
- 在雙方的RAM通信協(xié)議上使用規(guī)范化的協(xié)議標準,包括數(shù)據(jù)塊頭、數(shù)據(jù)塊有效字節(jié)數(shù)、數(shù)據(jù)塊控制命令碼、數(shù)據(jù)塊命令碼模式、數(shù)據(jù)塊命令碼參數(shù)列表長度、數(shù)據(jù)塊命令碼參數(shù)列表、數(shù)據(jù)塊數(shù)據(jù)長度、數(shù)據(jù)塊數(shù)據(jù)和較驗數(shù)據(jù)。在不太復(fù)雜的應(yīng)用中可以使用簡化的形式,例如較驗數(shù)據(jù)可以使用奇較驗、偶較驗、和校驗和CRC校驗,在一般的應(yīng)用中采用和校驗即可。
- 存儲區(qū)分區(qū)管理。將通信使用的雙口RAM分為協(xié)議區(qū)和數(shù)據(jù)區(qū),既增加了雙口RAM的使用效率又使軟件編程結(jié)構(gòu)清晰,同時增加了系統(tǒng)操作的可靠性。
- 軟件看門狗的使用。在核心板和底板都使用了各自的軟件看門狗,即分別保證核心板和底板的可靠性外,還使它們發(fā)生故障時相互的影響降到最低。
本設(shè)計方案具有體積小、功耗低的優(yōu)點,可用電池進行供電,可以當作一個手持設(shè)備使用。