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