周立功教授新書《面向AMetal框架與接口的編程(上)》,對AMetal框架進行了詳細介紹,通過閱讀這本書,你可以學到高度復用的軟件設計原則和面向接口編程的開發(fā)思想,聚焦自己的“核心域”,改變自己的編程思維,實現(xiàn)企業(yè)和個人的共同進步。
第一章為AM824-Core 開發(fā)套件,本文為 1.5 MicroPort 模塊介紹和1.6 MiniPort 模塊說明。
1.5 MicroPort 模塊介紹
MicroPort 是一個標準的微型擴展接口,可以通過該接口擴展各種外圍模塊,堆疊實現(xiàn)不同的應用,目前支持MicroPort 接口的外設模塊有:SPI Flash 模塊(MicroPort-Flash)、EEPROM 模塊(MicroPort-EEPROM)和RTC 模塊(MicroPort-RTC)等。
>>> 1.5.1 SPI Flash 模塊
SPI Flash 模塊(MicroPort - Flash),按照MicroPort 接口將控制引腳引出,便于和支持MicroPort 接口的主機相連,其實物詳見圖1.25(a)。MicroPort-Flash 采用旺宏的安全Flash產(chǎn)品MX25L1608D,可通過SPI 標準接口對其進行訪問,其容量為16Mb,典型可擦寫100 000次,數(shù)據(jù)可保持20 年。SPI Flash 模塊(MicroPort- Flash)插在主控制器上的MicroPort 接口(P1端口)功能定義詳見圖1.25(b)。MCU 通過MicroPort 接口與SPI Flash 模塊(MicroPort - Flash)直接相連,實現(xiàn)對Flash 的訪問,引腳功能說明詳見表1.9。
圖1.25 SPI Flash 模塊實物圖與接口定義
表1.9 SPI Flash 模塊功能引腳說明
[1] 默認沒有引出,可根據(jù)實際情況選擇焊接對應的0 歐電阻;
[2] 默認沒有引出,該功能默認和5 號位功能重疊,使用其他模塊時若5 號位功能沖突則可通過0 歐電阻將nCS 功能切換到該引腳。
SPI Flash 模塊(MicroPort-Flash)具體電路詳見圖1.26,實際硬件中R3和R4 電阻沒有焊接,默認nWP 和HOLD 沒有引出來,如果有需要可以通過焊接R3 和R4 后進行測試。
圖1.26 SPI Flash 模塊電路
>>> 1.5.2 EEPROM 模塊
EEPROM 模塊(MicroPort-EEPROM),按照MicroPort 接口將控制引腳引出,便于和支持MicroPort 接口的主機相連,其實物詳見圖1.27(a)。EEPROM 模塊(MicroPort-EEPROM)插在主控制器上的MicroPort 接口(P1 端口)功能定義詳見圖1.27(b)。
圖1.27 EEPROM 模塊實物圖與接口定義
MCU 通過MicroPort 接口與EEPROM 模塊(MicroPort -EEPROM)直接相連,實現(xiàn)對EEPROM 的訪問,引腳功能說明詳見表1.10。
表1.10 EEPROM 模塊功能引腳說明
MicroPort – EEPROM 采用復旦微半導體的FM24C02C,容量為2048 位(256 個字節(jié)),可使用I2C 接口對其進行訪問,默認7bit 從機地址為0x50,硬件電路詳見圖1.28。
圖1.28 EEPROM 模塊電路
>>> 1.5.3 RTC 模塊
RTC 模塊(MicroPort-RTC)是基于NXP推出的PCF85063AT 時鐘芯片,該芯片作為一款CMOS 實時時鐘和日歷,最適合低功耗應用,所有地址和數(shù)據(jù)都可通過I2C 總線進行傳輸,最大數(shù)據(jù)速率高達400 kbit/s。該模塊按照MicroPort 接口將控制引腳引出,便于與支持MicroPort 接口的主控制器相連,其實物詳見圖1.29(a)。時鐘模塊(MicroPort-RTC)插在主控制器上的MicroPort 接口(P1 端口)功能定義詳見圖1.29(b)。MCU 通過MicroPort 接口與時鐘模塊(MicroPort-RTC)直接相連訪問PCF85063,引腳功能說明詳見表1.11。
表1.11 時鐘模塊功能引腳說明
注:默認沒有引出,可根據(jù)實際情況選擇焊接對應的0 歐電阻。
圖1.29 時鐘模塊實物圖與接口定義
MCU 采用I2C 接口對MicroPort - RTC 進行訪問,默認7bit 從機地址為0x51,硬件電路詳見圖1.30。實際硬件中R1、R2 和R3 電阻沒有焊接,默認CLKOUT 和INT 功能沒有引出來,如果有需要可以通過焊接相應電阻進行測試。INT 兩個位置可以根據(jù)實際應用進行選擇性焊接,設計兩個位置主要是避免應用中和其他模塊功能沖突,盡可能多的提供選擇。
圖1.30 RTC 模塊電路
注:PCF85063/PCF8563 的SDA、SCL 和INT 引腳均為開漏結構,實際應用一定要接上拉電阻。
圖1.30 中的C2 默認不焊接,主要是PCF85063 內(nèi)部已經(jīng)集成負載電容,無需外接,而該電路同時兼容PCF8563 的應用,PCF8563 使用時需要外接C2 處的電容。D1 是一個共陰極雙二極管,主要作用是J1 接口外接電池時可將電池與3.3V 電源隔離,避免電池通過3.3V給其他系統(tǒng)供電浪費能量或3.3V 系統(tǒng)直接給電池充電(一般這里采用不可充電電池)。
>>> 1.5.4 USB 模塊
USB 模塊(MicroPort-USB)是基于EXAR公司的XR21V1410IL16TR-F 全速USB-UART轉換芯片,其USB 接口符合USB2.0 規(guī)范,支持12Mbps 的數(shù)據(jù)傳輸速率。該模塊按照MicroPort 接口將控制引腳引出,便于與支持MicroPort 接口的主控制器相連,其實物詳見圖1.31(a)。USB 模塊(MicroPort-USB)插在主控制器上的MicroPort 接口(P1 端口)功能定義詳見圖1.31(b)。
圖1.31 USB 模塊實物圖和接口定義
MCU 通過MicroPort 接口與USB 模塊(MicroPort-USB)直接相連,實現(xiàn)USB 模塊的控制,引腳功能說明詳見表1.12。
表1.12 USB 模塊功能引腳說明
XR21V1410IL16TR-F 全速USB-UART 轉換芯片,其USB 接口符合USB2.0 規(guī)范,支持12Mbps 的數(shù)據(jù)傳輸速率。硬件電路詳見圖1.32。模塊通過MicroUSB 插座輸入數(shù)據(jù),轉換為串口數(shù)據(jù)后跟主控MCU 通信,實現(xiàn)USB 轉串口功能。模塊自帶5V 轉3.3V 的電源芯片U3,無需底板額外供電,其輸出電流可達300mA,滿足XR21V1410IL16TR-F 的工作需求。ESD 保護二極管U2 為USB 接口電路提供可靠的ESD 保護。
圖1.32 USB 模塊電路
>>> 1.5.5 RX8025T 模塊
RX8025T 模塊(MicroPort-RX8025T)是基于EPSON 推出的I2C 總線實時時鐘芯片RX-8025T,該型號內(nèi)置高穩(wěn)定度的32.768KHz的DTCXO(數(shù)字溫度補償晶體振蕩器),除了提供日歷功能和時鐘計數(shù)功能外,該芯片還提供豐富的其它功能如鬧鐘、定周期定時器、時間更新中斷和時鐘輸出功能。該模塊按照MicroPort 接口將控制引腳引出,便于和支持MicroPort 接口的主機相連,其實物見圖1.33(a)。RX8025T 模塊(MicroPort - RX8025T)插在主控制器上的MicroPort 接口(P1 端口)功能定義詳見圖1.33(b),MCU 通過MicroPort 接口與RX8025T 模塊(MicroPort-RX8025T)直接相連,實現(xiàn)RX8025T 模塊的控制,引腳功能說明詳見表1.13。
圖1.33 RX8025T 模塊實物圖與接口定義
表1.13 RX8025T 模塊功能引腳說明
MCU 采用I2C 接口對MicroPort - RX8025T 進行訪問,讀地址:0x65h,寫地址:0x64h,硬件電路詳見圖1.34,其電路設計與RX8025SA 兼容,但RX-8025T 只有一路中斷輸出功能,由MicroPort 接口P1 的Pin5 引出。RX-8025T 芯片內(nèi)置高精度的32.768kHz 晶體,無需外接晶體就可以實現(xiàn)高精度的實時計時功能。中斷輸出引腳由上拉電阻接到系統(tǒng)電源,保證其引腳在不使用中斷輸出功能時處于穩(wěn)定的電平狀態(tài)。D1 是一個共陰極雙二極管,主要作用是P1 接口外接電池時可將電池與3.3V 電源隔離,避免電池通過3.3V 給其他系統(tǒng)供電浪費能量或3.3V 系統(tǒng)直接給電池充電(一般這里采用不可充電電池)。
圖1.34 RX8025T 模塊電路
>>> 1.5.6 DS1302 模塊
DS1302 模塊(MicroPort-DS1302)是基于DALLAS 公司推出的高性能、低功耗、帶RAM的實時時鐘芯片,可以對年、月、日、周、時、分、秒進行計時,具有閏年補償功能,工作電壓為2.0V~5.5V,并具有涓細電流充電能力。該模塊按照MicroPort 接口將控制引腳引出,便于和支持MicroPort 接口的主機相連,其實物見圖1.35(a)。DS1302 模塊(MicroPort -DS1302)插在主控制器上的MicroPort 接口(P1端口)功能定義詳見圖1.35(b)。
圖1.35 DS1302 模塊實物圖與接口定義
MCU 通過MicroPort 接口與DS1302 模塊(MicroPort-DS1302)直接相連,實現(xiàn)DS1302模塊的控制,引腳功能說明詳見表1.14。
表1.14 DS1302 模塊功能引腳說明
DS1302 采用三線接口與MCU 進行同步通信,外部連接32.768kHz 的晶振為其提供準確的時鐘源,時鐘的精度取決于晶振的精度以及晶振的引腳負載電容。芯片具有主電源/后備電源雙電源引腳,其中主電源VCC2 連接到系統(tǒng)電源3.3V_DS1302,備用電源VCC1 連接到電池, DS1302 是由VCC1 或VCC2 兩者中的較大者供電。當VCC2 大于VCC1+0.2V,VCC2 給芯片供電。當VCC2 小于VCC1 時,芯片由VCC1 供電,因此在主電源關閉的情況下,能保持時鐘的持續(xù)運行,硬件詳細電路詳見圖1.36。
圖1.36 DS1302 模塊電路
>>> 1.5.7 Analog 模塊
Analog 模塊(MicroPort-Analog)是基于3Peak 的LMV358A 運放芯片開發(fā)的低功耗、高性能型模擬信號采集與輸出模塊。Analog 模塊插在主控制器上的MicroPort 接口(P1 端口)功能定義詳見圖1.37(b)。
圖1.37 Analog 模塊實物圖與接口定義
MCU 通過MicroPort 接口與Analog 模塊(MicroPort-Analog)直接相連,實現(xiàn)與AD 采集通道的連接、控制DA 輸出通道,引腳功能說明詳見表1.15。
表1.15 Analog 模塊功能引腳說明
MicroPort - Analog 包含2 個用于ADC 驅動及抗混疊濾波的3 階低通濾波器,1 個用于PWM DAC 的6 階低通濾波器。模塊與MCU 配合使用,可以更好的發(fā)揮MCU 片上ADC性能,使用ADC 功能時濾波器的輸入引腳與所需要采集的信號源直接相連,實現(xiàn)高輸入阻抗的信號采集功能,信號的輸入范圍為0~3.3V,其硬件電路詳見圖1.38。
圖1.38 ADC 驅動電路
使用PWM DAC 功能時濾波器的輸出引腳經(jīng)過濾波器處理后,得到一個與占空比成正比的模擬電壓值,可實現(xiàn)DAC 功能,具有低輸出阻抗,信號輸出范圍為0~3.3V,其硬件電路詳見圖1.39。
圖1.39 DAC 濾波電路
1.6 MiniPort 模塊說明
>>> 1.6.1 LED 模塊
LED 模塊(MiniPort-LED)集成8 個LED,按照MiniPort 接口將控制引腳引出,便于和支持MiniPort 接口的主機相連??赏ㄟ^8 個I/O對其進行控制,LED 模塊的MiniPort 接口母座(J4B 端口)功能定義詳見圖1.40,MCU通過MiniPort 接口驅動LED 模塊(MiniPort-LED)引腳功能說明詳見表1.16。
表1.16 LED 模塊引腳說明
圖1.40 LED 模塊實物與接口定義圖
LED 模塊(MiniPort - LED)電路詳見圖1.4.1,其中LED 為低電平有效(低電平亮)。通過MiniPort B(排母)與MiniPort A(彎針)相連,完成對LED 模塊(MiniPort - LED)的控制。
圖1.41 LED 模塊電路
LED 模塊通過MiniPort B(排母)與主控制器底板相連,同時將其余不使用的I/O 通過MiniPort A(彎針)引出,實現(xiàn)模塊的橫向堆疊。L1~L15 代表將A/B 接口未使用的對應接口相連,便于堆疊擴展。
>>> 1.6.2 數(shù)碼管模塊
數(shù)碼管模塊(MiniPort-View)集成2 個八段數(shù)碼管,按照MiniPort 接口將控制引腳引出,便于和支持MiniPort 接口的主機相連。通過COM0、COM1 控制數(shù)碼管的位選,seg A~segDP 連接數(shù)碼管的SEG 端,數(shù)碼管模塊對應主控制器MiniPort 接口(J4 端口)功能定義詳見圖1.42。MCU 通過MiniPort 接口驅動數(shù)碼管模塊(MiniPort-View)引腳功能說明詳見表1.17。
圖1.42 數(shù)碼管模塊實物與接口定義圖
表1.17 數(shù)碼管模塊引腳說明
數(shù)碼管模塊(MiniPort - View)由兩個共陽數(shù)碼管LN3461BS 組成,具體電路詳見圖1.43。seg A~seg DP 8 個端口作為驅動數(shù)碼管段選的接口,通過470 歐限流電阻與數(shù)碼管的段選端(a,b,c,d,e,f,g,dp)相連。COM0 和COM1 作為位選控制位,通過5.1K 電阻連接到PNP 型三極管的基極,三極管的發(fā)射極接3.3V 電源,集電極與數(shù)碼管的位選段相連。由于數(shù)碼管的8 個段選都需要通過COM 端進行供電,僅僅通過MCU 的I/O 電流驅動能力有限,為此本設計中加入三極管,增加COM 端驅動電流。
圖1.43 數(shù)碼管模塊電路圖
數(shù)碼管模塊通過MiniPort B(排母)與主機相連,同時將其余不使用的I/O 通過MiniPortA(彎針)引出,實現(xiàn)模塊的橫向堆疊。L1~L11 代表將A/B 接口未使用的對應接口相連,便于堆疊擴展。
>>> 1.6.3 按鍵模塊
按鍵模塊(MiniPort - Key)集成4 個按鍵,按照MiniPort 接口將控制引腳引出,便于和支持MiniPort 接口的主控制器相連。按鍵模塊對應主控制器MiniPort 接口(J4端口)功能定義詳見圖1.44。MCU 通過MiniPort 接口控制按鍵模塊(MiniPort-Key)引腳功能說明詳見表1.18。
圖1.44 按鍵模塊實物與接口定義圖
表1.18 按鍵模塊引腳說明
按鍵模塊(MiniPort - Key)的電路詳見圖1.45,采用矩陣鍵盤方式進行排列,其中KR0、KR1 為行線,KL0、KL1 為列線,列線與數(shù)碼管COM 段共用(軟件在實現(xiàn)數(shù)碼管動態(tài)顯示和實現(xiàn)按鍵動態(tài)掃描時,對COM0、COM1 和KL0、KL1 的操作是相同的。數(shù)碼管驅動是依次置低COM0 和COM1,來選擇要點亮的數(shù)碼管。按鍵掃描驅動是依次置低KL0 和KL1,再通過KR0 和KR1 的值來判斷按鍵的狀態(tài),因此可根據(jù)兩者的工作特性來實現(xiàn)KL0、 KL1和COM0、COM1 的復用),可實現(xiàn)該模塊與數(shù)碼管模塊共用時,減少I/O 占用。
圖1.45 按鍵模塊電路
圖1.45 中R3、R4 僅起到保護隔離的作用,如果沒有R3 和R4,將KL0 和KL1 直接連接到矩陣鍵盤對應的列線上,則鍵盤電路會存在這樣的潛在問題:若KL0 設為0(低電平),KL1 設為1(高電平),這時若KEY0 和KEY1(KEY2 和KEY3)同時按下,KL0 與KL1兩個I/O 間就形成短路回路。
按鍵模塊通過MiniPort B(排母)與主機相連,同時將其余不使用的I/O 通過MiniPort A(彎針)引出,實現(xiàn)模塊的橫向堆疊。L1~L16 代表將A/B 接口未使用的對應接口相連,便于堆疊擴展。
>>> 1.6.4 595 模塊
595 模塊(MiniPort - 595)主要是用于I/O 擴展,模塊采用74HC595 芯片,通過串轉并的方式擴展8 路I/O。595 模塊可以直接驅動LED 模塊,也可以通過配合COM0 和COM1 引腳驅動數(shù)碼管模塊。74HC595 芯片共使用了三個控制引腳,它們分別是CP 時鐘信號引腳、D 數(shù)據(jù)引腳和STR 鎖存信號引腳。595 模塊對應主控制器MiniPort 接口(J4 端口)功能定義如圖1.46(b)所示。595 模塊輸出信號通過MiniPort A(彎針)引出(MiniPort-595 J2A 端口),引腳功能定義詳見圖1.46(c),MCU通過MiniPort 接口控制595 模塊(MiniPort - 595)引腳功能說明詳見表1.19。
圖1.46 595 模塊實物與控制接口定義圖
表1.19 595 模塊控制引腳說明
595 模塊的電路詳見圖1.47,MiniPort B(排母)為595 模塊的輸入接口,MiniPort A(彎針)為595 模塊的輸出接口,通過該接口與LED、數(shù)碼管等模塊相連。
圖1.47 595 模塊電路圖
由于595 模塊主要用于外設擴展,故MiniPort A 和MiniPort B 兩端部分引腳并不完全相同。L1~L15 代表將595 模塊A/B 接口未使用的對應接口相連,便于堆疊擴展。
>>> 1.6.5 ZLG72128 模塊
MiniPort-ZLG72128 模塊可以管理2 個普通按鍵、2 個功能按鍵和2 個共陰數(shù)碼管,該組件通過10×2 插針接口和AMetal824 平臺連接,通過AMetal824 的I2C接口操作和演示該組件。ZLG72128 模塊的主控芯片為ZLG72128 是廣州周立功單片機科技有限公司自行設計的數(shù)碼管顯示驅動與鍵盤掃描管理芯片,其主要特性:
-
直接驅動12 位共陰式數(shù)碼管(1 英寸以下)或96 只獨立的LED;
-
能夠管理多達32 只按鍵,自動消除抖動,其中有8 只可以作為功能鍵使用;
-
利用功率電路可以方便地驅動1 英寸以上的大型數(shù)碼管;
-
具有位閃爍、位消隱、段點亮、段熄滅、功能鍵、連擊鍵計數(shù)等強大功能;
-
提供有10 種數(shù)字和21 種字母的譯碼顯示功能,或者直接向顯示緩存寫入顯示數(shù)據(jù);
-
與微控制器之間采用I2C 串行總線接口,只需兩根信號線,節(jié)省I/O 資源;
-
工作電壓范圍:3.0~5.5V;
-
工作溫度范圍:-40~+85℃;
-
封裝:標準TSSOP28。
ZLG72128 模塊通過MiniPort A(彎針)引出(MiniPort-595 J2A 端口),引腳功能定義詳見圖 1.48。ZLG72128 的I2C 接口,僅需要SDA 和SCL 兩根信號線, 其地址:1100000 讀/寫(1/0),其相應的電路原理圖詳見圖1.49。
圖 1.48 MiniPort-ZLG72128 實物與接口
圖1.49 MiniPort-ZLG72128 模塊原理圖
-
FlaSh
+關注
關注
10文章
1614瀏覽量
147658 -
EEPROM
+關注
關注
9文章
1008瀏覽量
81336 -
microport模塊
+關注
關注
0文章
2瀏覽量
2084
原文標題:周立功:MicroPort 模塊介紹和MiniPort 模塊說明
文章出處:【微信號:ZLG_zhiyuan,微信公眾號:ZLG致遠電子】歡迎添加關注!文章轉載請注明出處。
發(fā)布評論請先 登錄
相關推薦
評論