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