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