Actel數(shù)模結(jié)合FPGA的遠(yuǎn)程控制器設(shè)計
近年來,隨著人們對生活品質(zhì)的追求,每個家庭都越來越需要一個集控中心把家庭中的各種家電連接起來,并實現(xiàn)遠(yuǎn)程訪問、控制以及自動監(jiān)測報警功能。網(wǎng)絡(luò)技術(shù)的發(fā)展使這一想法成為了現(xiàn)實,然而大多數(shù)管理系統(tǒng)都是基于功能強大的PC機。近幾年,嵌入式技術(shù)迅猛發(fā)展,逐步開始成熟,盡管無法實現(xiàn)PC機那樣強大的功能,但其低成本、低功耗、體積小等優(yōu)勢都是PC機無法比擬的,尤其是價格因素,更是一個便于推廣的亮點。因此,嵌入式產(chǎn)品作為控制終端也將有機會成為發(fā)展的趨勢。
1 Actel數(shù)模結(jié)合FPGA介紹
Actel公司的Fusion系列FPGA是基于ProASIC3/E的系列芯片,具有Flash架構(gòu)的FPGA所有特點,如高安全性、高可靠性、單芯片、上電即行、非易失性、低功耗等;具有4 Mb的用戶可用Flash、1 Kb的內(nèi)部Flash、108 Kb的RAM;2個PLL最高頻率可達(dá)350 MHz;支持多種I/O電平標(biāo)準(zhǔn),其中差分的I/0標(biāo)準(zhǔn)有LVPECL、LVDS、BLVDS、M—LVDS;具有AES、FlashLock加密技術(shù)。另
外,集成了獨特的模擬部分:
◆具有分辨率高達(dá)12位、采樣率高達(dá)600 ksps、30個輸入通道、2.56 V內(nèi)部參考源的A/D轉(zhuǎn)換器;
◆高達(dá)30個模擬的輸入I/O,可以承受±12 V輸入電壓,并有10個MOSFET門驅(qū)動輸出,驅(qū)動能力可調(diào);
◆可實現(xiàn)電壓、溫度、電流檢測;
◆片內(nèi)集成100 MHz、精度為1%的RC振蕩器;
◆外部可接32 kHz~20 MHz的晶振;
◆具有可編程的實時計數(shù)器(RTC);
◆片內(nèi)具有1.5 V穩(wěn)壓源,可提供內(nèi)核電壓,實現(xiàn)睡眠和待機的低功耗模式。
2 實現(xiàn)原理及系統(tǒng)結(jié)構(gòu)
系統(tǒng)采用Fusion開發(fā)平臺為主控器,在片內(nèi)嵌入8051軟核的方式,對系統(tǒng)進行控制和管理。該系統(tǒng)內(nèi)部嵌入2個8051軟核,有效地將管理、控制和檢測分開,其兩核之間在內(nèi)部通過并行I/O通信,使用“仿打印機協(xié)議”通信;在一個IP核擴展了MiniISA總線,通過并行總線擴展了32 KB SRAM、LCD接口和82C55接口,實現(xiàn)了打印機控制和紅外遙控接收;通過電話模塊CR6269A和網(wǎng)絡(luò)模塊ZNE一100T將電話信息和網(wǎng)絡(luò)信息轉(zhuǎn)成串口數(shù)據(jù),對家電進行遠(yuǎn)程控制;模擬I2C總線接口擴展了PCF8563實時時鐘芯片、E2PROM存儲器AT24C256芯片以及ZLG7290串行顯示器/鍵盤控制器,以獲取準(zhǔn)確的實時時鐘、相關(guān)參數(shù),并實現(xiàn)系統(tǒng)信息的存儲、4×4鍵盤動態(tài)掃描控制;擴展數(shù)字溫度傳感器DSl8820用于對室溫進行測量;在片內(nèi)擴展了4路A/D,實現(xiàn)對家庭參數(shù)(煙霧濃度、燃?xì)鉂舛?、交流電壓和交流電?的測量。系統(tǒng)結(jié)構(gòu)框圖如圖1所示。
3 系統(tǒng)硬件設(shè)計
3.1 MiniISA總線擴展板
MiniISA總線擴展板主要用于各種并行總線器件及I2C器件的擴展。其中包括:
82C55并行I/O擴展、LCD接口、ZLG7290串行鍵盤/顯示器接口、PCF8563實時時鐘接口、AT24C256接口等。Mi—niISA總線接口如圖2所示。
3.1.1 外設(shè)地址選擇與分配
系統(tǒng)通過可編程邏輯陣列器件GAL16V8實現(xiàn)基地址的選擇與分配。MiniISA總線接口尋址空間為256字節(jié),其中高4位(A4~A7)為板卡基地址,通過4個撥動開關(guān)進行基地址的設(shè)置;低4位為該ISA板的接口地址,A2、A3用于板上外擴芯片的地址選擇,每個外設(shè)的尋址空間為4字節(jié)。板卡基地址base(高4位)由SA7、SA6、SA5、SA4決定,A3、A2對板卡上外設(shè)進行片選,地址分配如表1所列。
3.2.2板卡資源介紹
(1)82055并行I/O擴展
可編程并行接口82C55是一款具有2個8位(A口和B口)和2個4位(C口高/低4位)并行I/O端口的接口芯片,接口可編程,I/O端口控制功能強。芯片接口地址如表2所列。
該設(shè)計中82C55主要用于控制打印機的輸入與輸出,其接口電路如圖3所示。
(2)漢字微型打印機擴展
漢字微型打印機為針式打印機。如圖3所示,打印機數(shù)據(jù)線與82C55的PA口相接,PA口設(shè)置為輸出;忙線(BUSY)和選通線(STB)分別與PC7、PCO相接。82C55的PC口高4位I/O口設(shè)置為輸入,低4位I/O口設(shè)置為輸出。
(3)串行鍵盤顯示器控制器ZLG7290
ZLG7290是串行I2C總線的一款鍵盤/顯示器控制器,最多可以擴展8×8鍵盤和64個LED。在MiniISA總線擴展板中將所有接口引出,電路如圖4所示,而在本設(shè)計中只使用的4×4的鍵盤,用于界面操作。
(4)實時時鐘芯片PCF8563
擴展PCF8563實時時鐘芯片,用于獲取準(zhǔn)確時間用于時間的顯示。PCF8563是Philips公司推出的一款工業(yè)級、內(nèi)含I2C總線接口功能、具有極低功耗的多功能時鐘/日歷芯片。工作電流為O.25μA,采用O.1F電容供電;斷電情況下,仍可正常工作10~13天。
(5)串行E2PROM AT240256
AT24C256是串行I2C總線的一款E2PROM,存儲空間為32 KB,主要用于報警參數(shù)、密碼、紅外代碼以及相關(guān)產(chǎn)品信息的存儲。
3.2 電話模塊CR6269A
CR6269A電話模塊可實現(xiàn)自動電話應(yīng)用所需的全部功能:電話接口、摘機電路、振鈴識別、FSK來電號碼接收、電話信號音識別、DTMF收發(fā)、多段數(shù)碼語音、多和弦音樂和鈴聲、免提擴音、用戶語音輸入和電話語音輸出、2路遙控驅(qū)動輸出。所有硬件的底層控制均由模塊內(nèi)MCU完成,用戶通過一標(biāo)準(zhǔn)RS232接口完成指令和數(shù)據(jù)通信,功能強大且應(yīng)用非常簡便,只需接入5V電源、電話線、串口線即可使用。
3.3 網(wǎng)絡(luò)模塊ZNT一100T
ZNT一100T網(wǎng)絡(luò)模塊是周立功公司開發(fā)的一款嵌入式網(wǎng)絡(luò)模塊。它內(nèi)部集成了TCP/IP協(xié)議棧、10M以太網(wǎng)接口,串口TTL電平方式,波特率為300~115 200 bps,提供5個可控制I/O,可通過網(wǎng)頁控制或TCP控制控制端口任意設(shè)定。表3為ZNE一100T接口說明。本設(shè)計中,利用該模塊進行網(wǎng)絡(luò)控制。
3.4 交流電檢測電路
本設(shè)計,采用DVDI—001電壓/電流互感器對交流電的電壓、電流進行采樣,然后通過精密整流電路進行整流,采用RC濾波,最終變?yōu)镺~5 V電壓進入FPGA的A/D測量端。
(1)作為電壓互感器使用
DVDI—001作電壓互感器使用時是一種電流型電壓互感器。電壓采樣電路如圖5所示。根據(jù)電路的實際情況,將Rr的阻值選為5 kΩ,CO選為O.1μF。因為電流的感應(yīng)是1:l,所以Rr選為5 kΩ;同時也要注意不要讓負(fù)載超過互感器的范圍。這樣,就可以安全地得到所需要的幅值范圍。
(2)作為電流互感器使用
DVDI—001作電流互感器應(yīng)用時,用戶只需在中心孔內(nèi)穿1匝母線作為輸入線圈。電流采樣電路如圖6所示。由于電流的感應(yīng)比是3 000:1,所以電路中的負(fù)載是很小的,所以根據(jù)電路的實際情況將Rr的阻值選為5 kΩ,CO選為0.22μF。這樣,就可以安全地得到所需要的幅值范圍(0~5 V)。
3.5 溫度檢測
數(shù)字溫度傳感器DSl8B20具有與CPU接口方便、直接數(shù)字量輸出等優(yōu)點,可提供12位(二進制)溫度讀數(shù)指示器件的溫度信息。經(jīng)過單線接口送入DSl8820或從DSl8B20送出,因此從主機CPU到DSl8820僅需一條線。室內(nèi)溫度檢測采用數(shù)字溫度傳感器,其電路如圖7所示。
4 雙核通信
系統(tǒng)采用主從式架構(gòu),主核發(fā)送命令,從核響應(yīng),共同完成對外圍設(shè)備的控制和管理。其中,COREl作為主核,外擴了32 KB的SRAM,主要通過MiniISA總線與外界通信;CORE2作為從核,通過I/O與外部通信。COREl、CORE2在結(jié)構(gòu)上是相對獨立的,雙核采用仿打印機協(xié)議進行通信,二者以I/O口相接(并行數(shù)據(jù)線8位,控制線2位)。雙核通信接口如圖8所示,接口引腳定義如表4所列。
系統(tǒng)在每一個核中,都開辟了一個16字節(jié)的緩存,用于存儲接收到的數(shù)據(jù)。其發(fā)送格式為:
從設(shè)備地址如表5所列。
5 軟件設(shè)計
5.1 系統(tǒng)主程序流程
系統(tǒng)內(nèi)部具有雙核,每個內(nèi)核單獨執(zhí)行程序。主程序流程如圖9所示。
5.2 雙核通信流程
雙核通信采用讀忙線發(fā)送、中斷接收的方式,增強了數(shù)據(jù)發(fā)送的可靠性,如圖10所示。
結(jié) 語
本文利用Actel公司最新Fusion系列數(shù)模結(jié)合的FPGA實現(xiàn)了遠(yuǎn)程家電控制,保證了多CPU環(huán)境下通信的協(xié)調(diào)與穩(wěn)定。本文創(chuàng)新點:采用數(shù)模結(jié)合的FPGA,內(nèi)嵌2個8051 IP軟核,主核通過擴展MiniISA總線實現(xiàn)數(shù)據(jù)處理和系統(tǒng)管理,從核直接用于參數(shù)的采集和控制,且參數(shù)采集所用的A/D轉(zhuǎn)換器均為12位的片內(nèi)A/D。