測控技術自古以來就是人類生活和生產的重要組成部分。隨著科技的發展,測控技術已進入了全新的時代。近年來。電子技術的快速發展,使得計算機廣泛用于自動檢測和自動控制系統中,以致電壓、電流、溫度等的監測越來越重要,現在利用數字系統處理模擬信號的情況也越來越多,但數字系統所處理的信號都是不連續的數字信號,而待測的電壓、電流、溫度等都是模擬量,這就需要將監測到的模擬信號轉換成數字信號,最終由系統進行處理。Actel公司出產的新型 FPGAFusion系列解決了數/模轉換及上電不可運行等一系列難題。Actel公司宣布推出全新的Fusion融合技術,為解決混合式信號的方案帶來真正可編程功能的嶄新技術。融合技術率先將混合信號的模擬功能、FLASH內存和FPGA結構集成于單片可編程系統芯片中。融合技術將可編程邏輯的優勢帶進應用領域中,而這些應用領域直至目前只能采用分立模擬元件和混合信號ASIC供應商提供的器件。與此同時,當融合技術與Actel的ARM7和以 8051為基礎的軟MCU內核共用時,可作為終極的軟處理器平臺。這項新技術能發揮Actel以FLASH為基礎FPGA的獨特優勢,包括高絕緣性、三井結構和支持高壓晶體管的能力,以滿足混合信號系統設計的嚴格要求。
1 方案選擇
該系統若根據要求可有多種實現方案。
方案一 該方案是傳統的一位式模擬控制方案。選用模擬電路,用電位器設定給定值,當反饋的溫度值與設定值比較后,決定加熱或不回熱。但它使系統受環境的影響大,不能實現復雜的控制算法,不能用數碼顯示,不能用鍵盤設定。
方案二 該方案是傳統的二位式模擬控制方案。其基本思想與方案一相同,但由于采用上、下限比較電路,所以控制精度提高。這種方法還是模擬控制方式,因此也不能實現復雜的控制算法,而使控制精度做得較高,此外仍不能用數碼顯示和鍵盤設定。
方案三 該方案采用CortexM1 FPGA系統來實現。系統硬件用單芯片完成多方面功能,軟件編程靈活,自由度大,可用軟件編程實現各種控制算法和邏輯控制,還可實現數碼顯示和鍵盤設定等多種功能,系統電路框圖如圖1所示。
方案一和方案二是傳統的模擬控制方式,而模擬控制系統難以實現復雜的控制規律,控制方案的修改也較麻煩。方案三是采用以CortexM1為控制核心的控制系統,尤其對溫度控制,它能達到模擬控制達不到的控制效果,且可實現顯示、鍵盤設定等多種功能,又易于擴展,大大提高了系統的智能化,也使得系統所測結果精度大大提高。故選擇方案三。
2 器件介紹
該系統采用的處理器核為32位ARM CortexM1,它是ARM與Actel合作開發,是首個專門針對FPGA應用而設計的ARM處理器。CortexM1處理器的運行速度高達68 MHz,可用4 353個邏輯單元(Tiles)來實現。CortexM1處理器采用三級流水線結構,其指令集使用了經典的Thumb-2指令集中一個子集,所以無需更改,即可利用現有的Thumb代碼。配置的CortexM1處理器可以連接到先進高性能總線(AHB)上,使得設計工程師能夠構建自己的子系統,并能輕易增添外設功能。
2.1 數據采集部分
傳感器部分既可采用熱敏電阻,也可采用集成的溫度傳感器。由于熱敏電阻的精度、重復性、可靠性都比較差,為了配合開發板的需求,在此采用晶體管作為溫度傳感器。系統溫度檢測數據采集部分原理如圖2所示。
這里溫度傳感器采用的是晶體管2N3904,它是雙極型晶體管,在使用中要按照圖2所示,將其集電極與基極連接起來使用。晶體管的溫度將會影響PN結上電流與電壓的關系,這是Fusion器件能夠實現溫度監控的理論基礎。送到A/D轉換器的電壓VADC由下面的公式可以得出:
式中:n為晶體管的理想系數。設計中,2N3904的n=1.008,近似取1。C為模塊中ADC的放大倍數,C=12.5;I,i為模塊中用到的兩個電流源,I=100μA,i=1OμA;k為波爾茲曼常量,k=1.3806×10-23J/K;q為質子的電量,q=1.602×10-19C,正因為采用的q,所以ADC測得溫度值單位為開爾文 (Kelvin);T為系統要測量的溫度,此處為傳感器所測量溫度。
2.2 鍵盤控制和控制電路
因為系統在運行時可以與PC通信,故可直接使用PC機設定上、下限溫度值,不需要額外設計鍵盤電路。但是由于條件有限,對于加熱和冷卻系統可采用簡單的模擬方式實現,通過系統給定信號驅動繼電器電路,完成加熱和冷卻效果,并且在超出范圍后進行報警。
2.3 數字顯示
該系統采用較先進的液晶顯示屏對結果進行顯示,形象直觀。這里采用的是有機電致發光器件(Organic Light Emitting Device。OLED)SSD1303T6。OLED相對于液晶顯示器LCD來說,其主要優勢在于驅動電壓低,功耗小,主動發光,平板超薄,響應速度快,工藝相對簡單等。 SSD1303是晶門公司采用TAB封裝的單色OLED模組。這種基于CMOS工藝的驅動IC集成了行、列驅動器、控制器和SRAM,可支持的最大分辨率為132×64,可以顯示4色區域色,并可編程實現256灰度.可實現水平滾動顯示。SSD1303提供有6800,8080,SPI等用于與微處理器 (MCU)進行通信的顯示接口模式。該設計中采用SPI接口進行通信。由于OLED控制芯片中未包含字庫,這里自行設計了字庫,采用8×8點陣顯示。字庫設計范例如圖3所示,其為字符“C”的字庫模型。
該設計中所需字符比較簡單,按照需要自行設計了字符“O~9”,“.”,“:”,“T”。由于字庫較小,采用數組方式存放數據。如下程序所示。
{0x00,0x00,0x00,0x00,0xff,0x00,0x00,0x00}, //[1]
{0x00,0x00,0xf1,0x91,0x91,0x8f,0x00,0x00}, //[2]
{0x00,0x00,0x91,0x91,0x91,0xff,0x00,0x00}, //[3]
{0x00,0x00,0x1f,0x10,0x10,0xff,0x00,0x00}, //[4]
{0x00,0x00,0x9f,0x91,0x91,0xf1,0x00,0x00}, //[5]
{0x00,0x00,0xff,0x91,0x91,0xf1, 0x00, 0x00}, //[6]
{0x00,0x00,0x01,0x01,0x01,0xff,0x00,0x00}, //[7]
{0x00,0x00,0xff,0x91,0x91,0xff,0x00,0x00}, //[8]
{0x00,0x00,0x8f,0x89,0x89,0xff,0x00,0x00}. //[9]
{0x04,0x02,0x82,0xfe,0x82,0x02,0x04.0x00}, //T[10]
{0x00,0x60,0x60,0x00, 0x00,0x00,0x00,0x00}, //。[11]
{0x00,0x6c,0x6c,0x00,0x00,0x00.0x00.0x00}, //:[12]
};
3 系統設計
這里設計的溫度測控系統采用Actel公司的SoPC解決方案,它基于嵌入式軟核CortexM1核,在性能上CortexM1可滿足當前大部分嵌入式產品的設計。該系統的主電路采用Actel公司提供的Fusion系列FPGA,實現溫度控制,由于加熱和制冷部分條件的限制,只采用模擬方式。電路可實現溫度顯示,設置上、下限溫度,超出范圍報警以及與PC機通信的功能。系統測量精度和控制精度均良好。
3.1 硬件設計原理
系統的硬件平臺大致可分為以下幾個功能模塊:模擬輸入模塊、微處理器及其外圍模塊、UART模塊、時鐘產生模塊、PWM模塊。這些功能模塊都由Actel 公司提供的知識產權核(IP核)組成。在Coreconsole中,將各個模塊配置,通過模塊的總線接口與系統總線AHB,APB互聯。最終的結果如圖4 所示。其中,右上角的信號連接為連接到頂層模塊的信號。
如圖4所示,其中CortexM1為微處理器核,負責處理采集到數據,并產生相應的控制信號給外圍控制電路;CoreAHBNvm為控制FLASH的軟核,使系統上電即可運行,掉電不丟失;CoreAI為模擬輸入模塊,負責將外圍采集的模擬信號數據轉換為數字信號。交由處理器處理;Coreu- ARTapb為串口通行核,負責將處理的數據通過串口發送給PC,使其能實時交互和控制;Core- GPIO和CoreGPlO_01兩個核為通用I/O核,分別負責OLED的數據通信和外圍控制信號的輸出。
系統的外圍溫度超過上限報警和加熱模擬的電路如圖5所示。
3.2 軟件設計部分
系統主要功能是將系統采集到的模擬信號通過硬件轉換成數字信號,將監測到的數據通過UART發送到PC的超級終端加以顯示出來;并且可在系統運行初始階段設置溫度的上、下限值,在超出溫度范圍時報警,且產生相應的控制信號進行加熱或者冷卻。各個模塊的運行由微處理器CortexM1進行協調。系統不斷監測模擬輸入端,如果模擬輸入有變化,就進行A/D轉換,并將轉換后的結果發送給CortexM1;CortexM1再將接收到的結果在規定時間內通過 UART發送到PC的超級終端顯示和在系統配接的OLED屏上彩色顯示。
該設計的系統應用軟件是在Actel公司的SoftConsole開發平臺上完成的。由于程序比較復雜,可以分為幾個子程序,具體包括:對 CoreUART,CoreAI,LED屏等的初始化配置,以及主要功能中CortexM1.c主程序的完成。系統流程圖如圖6所示。
4 結 語
經實際調試與運行,超級終端上得到了監測到的溫度值,并且能實現溫度超出范圍時報警和正常控制下實現加熱和冷卻的效果。該設計能實時測量并顯示溫度值,且精度高,反應快,達到了預期設計目標。
責任編輯:gt
評論
查看更多