智能測控電路片上系統(tǒng)的設(shè)計與仿真
1 引言
本文引用地址:http://m.butianyuan.cn/article/82149.htm智能測量控制電路系統(tǒng)在工業(yè)控制、各種消費類電子產(chǎn)品獲得了廣泛的應(yīng)用。它一般是以單片機(jī)為核心,外加模擬信號調(diào)理、模數(shù)轉(zhuǎn)換、人機(jī)接口(包括按鍵和數(shù)碼顯示等)、功率輸出等幾部分組成,其系統(tǒng)框圖如圖1。測控系統(tǒng)是基于PCB板來設(shè)計的,體積和功耗都較大。特別是為了使系統(tǒng)能夠應(yīng)用在各種惡劣的工作環(huán)境下,設(shè)計者通常要化大量的時間和精力來研究和實施各種硬件和軟件的抗干擾措施。另外,這些系統(tǒng)都具有大多數(shù)的共性,設(shè)計師很多的工作都是重復(fù)的。
2 系統(tǒng)結(jié)構(gòu)
隨著集成電路的設(shè)計技術(shù)和深亞微米制造技術(shù)的迅速發(fā)展,集成電路已進(jìn)入片上系統(tǒng)時代,且由數(shù)字SoC全面轉(zhuǎn)向混合信號SoC。本文的工作是將智能測量控制系統(tǒng)所需的信號采集、轉(zhuǎn)換、存儲、處理和I/O等各個部分功能集成于單芯片系統(tǒng)之中。高度集成的單片器件比用分立的IC成本低、功耗小,占據(jù)面積??;同時簡化了PCB系統(tǒng)設(shè)計和提高了系統(tǒng)的抗干擾能力。系統(tǒng)芯片的應(yīng)用簡單、通用性好,用戶只要接不同的傳感器和少量器件即可構(gòu)成完整的測量控制系統(tǒng),縮短了產(chǎn)品的上市時間。通用測量控制系統(tǒng)見圖1。
為了使單芯片智能測控系統(tǒng)具有良好的通用性,我們采取了基于微控制器內(nèi)核的設(shè)計方案。系統(tǒng)芯片中包括微控制器、儀用放大電路、A/D轉(zhuǎn)換、EEPROM、ROM、RAM及驅(qū)動邏輯等。
2.1微控制器內(nèi)核
在工業(yè)控制、各種中低檔的消費類電子產(chǎn)品中,8位微控制器在目前仍然占相當(dāng)大的比例,而且在未來的相當(dāng)一段時間內(nèi)仍然會以8位為主;其實現(xiàn)技術(shù)成熟,結(jié)構(gòu)簡單。按指令系統(tǒng),微控制器可以分為CISC,RISC和類RISC等幾種。CISC型代碼密度高,但絕大多數(shù)指令的需要多個時鐘周期完成,實現(xiàn)比較復(fù)雜。RISC型硬件實現(xiàn)比較簡單,但其代碼密度較低;類RISC類型則具備了代碼密度高和指令單周期完成等特點。
基于以上考慮自主開發(fā)了8位類RISC型的微控制器IP軟核,其結(jié)構(gòu)框圖如圖2所示。為了利用現(xiàn)有的編譯工具,微控制器的指令和Microchip公司的PIC16C62單片機(jī)的指令兼容。微控制器有35條單字、單周期的14bit指令,除了程序分支指令外其他指令都是單周期指令。采用了Harvard結(jié)構(gòu),兩級流水線設(shè)計。具有引腳電平變化中斷、外部邊沿中斷及定時器中斷三類中斷源,8級硬件堆棧。
2.2 A/D轉(zhuǎn)換器
A/D轉(zhuǎn)換器有并行、逐次逼近、積分型等多種類型,其各有優(yōu)缺點并能滿足不同的具體應(yīng)用要求。在大多數(shù)工業(yè)測控及消費類產(chǎn)品應(yīng)用中,時間量級都在ms上,但都要求有較高的精度和極高的可靠性及抗干擾能力。所以決定用雙積分型的A/D轉(zhuǎn)換器來實現(xiàn)模數(shù)轉(zhuǎn)換功能。設(shè)計的雙積分A/D轉(zhuǎn)換器的結(jié)構(gòu)如圖3所示,其信號的控制時序如圖4所示
為了減少積分器的失調(diào)的漂移的影響,采用補償測量法,在電路中設(shè)置電子開關(guān)S3、S4和零漂移記憶電容。設(shè)輸入的信號為Vi,基準(zhǔn)電壓為-Vr。雙積分A/D轉(zhuǎn)換器工作分為三個階段:
一是零補償期,將開關(guān)S3和S4接通,S1、S2斷開。積分器的開環(huán)增益很大,則其輸出基本上等于比較器的失調(diào)電壓e2。
二是信號定時積分階段,將開關(guān)S1接通,S4、S3、S2斷開,在一個固定的時間內(nèi)對被測電壓進(jìn)行積分。在開始的瞬間,積分器的輸出為e2。因此積分器從e2開始積分,經(jīng)時間Td后進(jìn)入第三個階段,此時積分器的輸出為
三是反向積分階段,將開關(guān)S2接通,S3、S1斷開,將積分器接到基準(zhǔn)電壓上。當(dāng)積分器的輸出返回到e2時,比較器翻轉(zhuǎn),設(shè)此積分區(qū)間的時間為Tx,有
可以看出整個積分過程不受失調(diào)和漂移的影響。
假定信號定時積分、基準(zhǔn)反向階段計數(shù)器的計數(shù)分別為N1、N2,則有N2=Vi*N1/Vr ,在本系統(tǒng)中取N1=10000 Vr=1.0000V。采樣結(jié)果表達(dá)式與時鐘頻率、積分電阻電容無關(guān),只取決于基準(zhǔn)電壓。把計數(shù)器的時鐘頻率取為工頻信號的整數(shù)倍,則對信號的積分時間為工頻周期的整數(shù)倍,可把由工頻噪聲的誤差減小到最小,從而有效地抑制電網(wǎng)的工頻干擾。
計數(shù)器采用CPU的TMR1,TMR1是一個16位的定時/計數(shù)器,由TMR1H、TMR1L兩個寄存器組成,為增1計數(shù)。為了方便與A/D轉(zhuǎn)換器接口,在標(biāo)準(zhǔn)的TMR1上增加了一個比較器輸出端的門控信號BUSY。將定時器的計數(shù)初值設(shè)置為0xd8ef,這樣經(jīng)過定時積分階段計數(shù)器值將變?yōu)榱?,反向積分階段結(jié)束后計數(shù)器的值即為采樣結(jié)果。通過用I/O口RB1發(fā)脈沖來啟動A/D轉(zhuǎn)換,轉(zhuǎn)換結(jié)束后通過BUSY信號來停止計數(shù)和向CPU申請中斷。在中斷程序中讀出采樣值和重新啟動A/D轉(zhuǎn)換。信號BUSY、S3/S4、計數(shù)器的計數(shù)值通過采集時序控制邏輯模塊來實現(xiàn)對S1、S2開關(guān)的控制。
2.3 存儲單元
為了配合微控制器的使用,設(shè)計了2K×14bit的程序存儲單元及128×8bit數(shù)據(jù)存儲單元。另外集成一定的EEPROM以滿足系統(tǒng)的參數(shù)的輸入和改變,如:傳感器的標(biāo)度轉(zhuǎn)換系數(shù)、控制算法程序參數(shù)。
2.4 擴(kuò)展端口的實現(xiàn)
實際應(yīng)用之中,可能會在微控制器的外圍集成一些特殊其他的IP模塊。IP模塊與微控制器的通信是通過微控制器的尋址方式來進(jìn)行的,通過對IP模塊的可尋址單元的讀寫來實現(xiàn)對IP模塊的數(shù)據(jù)存取。對于每一個IP模塊分配唯一性的地址單元保證其數(shù)據(jù)訪問的唯一性。多個IP模塊的集成可能會使芯片的端口數(shù)目大大增加。對于外接模塊的端口可采用與微控制器的通用I/O端口復(fù)用的方法 。
2.5 輸出顯示
數(shù)碼管具有壽命長、耐腐蝕、抗震動、防爆防潮、可靠性高、可視角度大等優(yōu)點,被廣泛應(yīng)用于各種測控儀表中。利用微控制器的定時器中斷的方法進(jìn)行數(shù)碼管的動態(tài)顯示刷新。
2.6 低功耗設(shè)計
為了使測控芯片滿足便攜式測控系統(tǒng)低功耗的需求,在設(shè)計時必須充分考慮降低功耗的要求,微控制器設(shè)有SLEEP指令,在SLEEP狀態(tài)之前微控制器可關(guān)斷傳感器、前級放大電路及基準(zhǔn)電源等部分的電源。另外在邏輯設(shè)計時,采用門控時鐘、異步邏輯、減少毛刺等方法來降低功耗。
3 仿真與設(shè)計
3.1系統(tǒng)的仿真
民首先微控制器核的軟件程序?qū)懗蓞R編或C語言代碼,然后利用PIC16C62的編譯系統(tǒng)生成HEX文件。為了能夠被EDA工具的所用,我們將將HEX文件轉(zhuǎn)換成了Verilog類型的文件。方法是分析生成的HEX文件格式,采用VB6.0高級語言將其轉(zhuǎn)換成 .v文件,其中實現(xiàn)采用case語句的方式來實現(xiàn)。其形式如下:
下面的波形為采用ACTIVE-HDL4.2仿真所產(chǎn)生,圖中 portbinout(0)信號(來自BUSY信號)下降沿產(chǎn)生中斷。在中斷中將計數(shù)值讀出并將TMR1定時器重新賦值0xd8ef,隨后將讀出的值用PORTC逐位用HEX方式輸出。
3.2 硬件驗證平臺
為了對系統(tǒng)的功能進(jìn)行驗證,設(shè)計了FPGA和通用器件相結(jié)合的硬件仿真系統(tǒng),將微控制器內(nèi)核,ROM,RAM,A/D轉(zhuǎn)換的數(shù)字部分及數(shù)碼管驅(qū)動等邏輯部分采用FPGA的邏輯來實現(xiàn),而模擬部分采用一般元器件來實現(xiàn),框圖如圖3 所示。FPGA采用Xlinx公司的10萬門的XC2S100,程序存儲器及寄存器RAM采用其片內(nèi)BlockRAM來實現(xiàn)。FPGA的編程文件存儲在一片PROM之中。運算放大器用三片OP07構(gòu)成儀用放大器來實現(xiàn);A/D轉(zhuǎn)換器的模擬部分用運算放大器和阻容元件構(gòu)成。
3.3 系統(tǒng)的設(shè)計
系統(tǒng)經(jīng)過驗證后,便進(jìn)行后端版圖設(shè)計。后端設(shè)計把每一個元件的電路表示轉(zhuǎn)換成集合表示,同時元件間連接的線網(wǎng)也被轉(zhuǎn)換成幾何連線圖形。為了處理問題的規(guī)模縮小,我們先將系統(tǒng)分成數(shù)字部分、ROM及RAM,模擬部分等幾個模塊,再為每個模塊和整個芯片選擇一個好的布圖方案。接下來完成模塊間的互連并進(jìn)一步優(yōu)化布線結(jié)果,最后進(jìn)行壓縮完成布線后的優(yōu)化處理過程,進(jìn)一步減小芯片的面積。
4 結(jié)束語
本文闡述了智能測量控制集成電路的設(shè)計方法,設(shè)計過程中充分考慮了一般智能測量控制的一般需求,注重通用性,從而使智能測控系統(tǒng)芯片只需外接少量的器件即可形成測控系統(tǒng),且進(jìn)行了基于FPGA系統(tǒng)的設(shè)計驗證。著重分析了設(shè)計過程中需要考慮的幾個問題,如:微控制器的選擇、A/D轉(zhuǎn)換器的選擇。
評論