第2部分中,我們介紹了基于星形拓撲結構的家庭自動化系統的架構。在第3部分,我們將展示如何利用片上系統技術設計基本的家庭自動化系統。 SoC架構能將系統的大部分功能集成到單個芯片中,以縮短上市進程和減少材料清單成本。由于這種集成方法將實現方案隱藏在芯片中,因此對系統進行反向工程的難度加大。 除了加速設計外,SoC還可提供幾種有助于OEM廠商在嵌入式市場中取得成功的業務優勢: 1.更低的成本:集成組件的總成本顯著高于單個SoC的成本。 2.更快的上市進程:考慮到設計人員能利用更少的外部組件實現更小的系統,因此SoC能縮短產品上市所需的時間。 3.簡化的系統可變性:SoC具有不同的接口和功能,因此可基于相同SoC設計多個家庭自動化系統。這樣更利于在系統中使用SoC并保持架構不變,使設計工作更趨近于即插即用方式。使用單個器件能減少組件數量,從而實現更小型的解決方案。 SoC提供不同級別的集成度。例如,賽普拉斯的PSoC系列MCU集成了家庭自動化系統所需的大部分組件,只需外部傳感器和有限數量的無源組件即可。此外,PSoC架構內的通用數字模塊(UDB)提供可編程硬件邏輯,使設計人員能夠在可編程邏輯模塊 (PLD)中集成定制數字邏輯,以實現更高的集成度。 系統要求: 1.采樣多個傳感器的ADC 2.連接各種外設的SPI通信接口 3.連接RTC 的I2C通信接口 4.十六進制鍵盤接口 5.面向紅外遙控器的IrDA接口 6.用于驅動驅動器電路的輸出引腳 系統級設計 為協助用戶采用SoC架構進行開發,芯片制造商提供了專用工具。這些工具有助于管理通信任務和通過SoC的數據流,便于建立可靠的固件并配置可編程邏輯資源。例如,賽普拉斯的PSoC Creator提供圖形化設計界面,允許開發人員快速使用經過預先驗證的生產就緒型組件,且組件具有簡化的配置和易于使用的API等。 圖1:PSoC Creator 中顯示的家庭自動化系統架構 圖1給出了完整的家庭自動化系統設計。所用的各種組件包括: A.ADC:ADC可用來從溫度和氣體傳感器中獲取讀數,對傳感器進行采樣,并提供數字值以供CPU制定智能控制決策。 B.熱敏電阻:該組件提供一個API,用以將與溫度傳感器對應的數字讀數轉換為溫度。 C.SPI:SPI組件可與NFC、以太網等各種外設直接連接。該接口使用一個額外的解復用器來連接采用單個主機的多個通信模塊。 D.I2C:I2C組件連接到RTC,而且可方便地進行擴展以連接任意I2C從設備。 E.十六進制鍵盤:這是一個在設計環境內部實現的定制組件。該組件采用由UDB設計的狀態機,讀取4x4鍵盤中檢測到的按鍵輸入。 F.IrDA解碼器:該組件接收來自IrDA接收器的信號,對信號進行解碼,并將譯碼結果提供給CPU進行評估和處理。 【系列文章】 家庭自動化系統設計(1):一般設計考慮因素 家庭自動化系統設計(2):基于星形拓撲結構的系統架構 定制組件的內部電路:SoC設計工具使開發人員能夠靈活性地利用常見系統模塊設計定制組件,并通過易于使用的模塊隱藏復雜電路。以上設計采用兩種定制組件: A.IrDA解碼器:該模塊能解碼由RC5協議編碼的紅外信號。RC5數據包一般有14位,以曼徹斯特編碼格式發送。 圖2:曼徹斯特編碼遠程輸出 Bit Extractor模塊按照以下方式從來自TSOP IrDA接收器的輸入信號恢復位和時鐘。第一個XOR門電路從信號中恢復埋時鐘。該信號以串行時鐘3/4的周期觸發PWM組件。當PWM到達最終計數時會觸發第二個DFF,用以采樣反轉信號。反轉的DFF輸出信號在傳送到移位寄存器之前被再次反轉。利用查找表 (LUT) 來計算接收到的位數,當收到第14個位時觸發一個中斷。在該中斷內,CPU讀取存儲在移位寄存器中的接收數據。 圖3:IrDA解碼器電路圖 B.十六進制鍵盤:十六進制鍵盤為16按鍵輸入,分為四行和四列以提供 (4 x 4 =) 16個唯一按鍵。在給定組件中,其中一個列引腳被置成低電平,同時讀取行。如果未檢測到按鍵動作,那么下個列引腳置為低電平,并將前一個引腳置為高電平。當相應的列引腳置為低電平時如果有一個行引腳變為低電平,那么此時檢測到按鍵動作。按鍵動作檢測會讓“有效”行變為高電平。這個有效終端可用來產生中斷。在中斷內,CPU會讀取“Key_Reg”寄存器以獲取關于該按鍵的信息。 圖4:十六進制鍵盤解碼器電路圖 【系列文章】 家庭自動化系統設計(1):一般設計考慮因素 家庭自動化系統設計(2):基于星形拓撲結構的系統架構 |