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