在項目開發設計時,單片機的IO引腳數量不夠,該如何處理?
單片機,作為一般電子類產品項目的關鍵元器件, 常被工程師應用處理數據的邏輯運算,甚至包含一些軟件的算法。比如工程師在開發如下項目:
家用電飯煲項目,單片機就可以作為數據運算的核心器件,負責處理加熱、定時、顯示、按鍵等功能的實現;
電動剃須刀項目,單片機可以作為電機控制的核心器件,負責處理電機的正轉、電池的電量管理等功能的實現;
辦公碎紙機項目,單片機可以作為邏輯分析的核心器件,負責處理電機的正轉、反轉、堵轉、人體保護等功能的實現。
單片機項目
工程師在針對這類的項目開發,會依據設計的功能需求確定單片機所需的內部資源,也就是確定單片機的型號。常用單片機的內部資源包含引腳數量、主頻時鐘、存儲空間以及通信接口等等,工程師根據這些信息選擇項目匹配的單片機型號。
確定單片機型號之后,工程師便可以進行項目的具體研發工作,硬件工程師展開電路原理圖設計,軟件工程師展開程序的代碼設計;在項目研發階段,工程師或許會遇到類型情況:
項目的研發工作在接近完畢時,臨時需要額外增加某項功能;或者項目版本在更新迭代的過程中,臨時需要額外調整某項功能。
面對這類情況,這些臨時增加和調整的功能,可能會導致之前選擇的單片機的IO引腳數量不夠問題出現;針對單片機的IO引腳數量不夠時,工程師該如何去較好地解決呢?
工程師可能會重新選擇單片機的型號,直接通過簡單地增加IO引腳數量來解決;此方案雖然可以解決,但不推薦,主要存在2個問題:
重新選擇新的單片機型號,與之相關聯的軟件代碼相當于也需要重新開發設計,增加了項目的開發工作量,工作效率不佳;
重新選擇新的單片機型號,與之相關聯的硬件電路相當于也需要重新開發設計,需要重新調試驗證,尤其是一些可靠性試驗的測試;
既然重新選擇新的單片機型號存在這些問題,那有沒有其他方案可以更好地解決呢?
在項目開發過程中,單片機的IO引腳數量不夠時,除了重新選擇新的單片機型號解決方案之外,還存在使用IO引腳擴展芯片的方案,比如AL5524芯片就是一個單片機的IO引腳擴展芯片,就能解決此類問題;
那么AL5524 IO引腳擴展芯片,它具有什么樣的特性?它是如何解決了單片機的IO引腳數量的?它又是如何擴展單片機的IO引腳數量的?
AL5524芯片引腳定義
Pin1引腳:INTB是實現中斷功能;
Pin2 & Pin3 & Pin21引腳:ADD實現的功能是通過硬件方式定義了IIC通信的地址信息;
Pin4 ~ Pin11引腳:RA是芯片擴展的IO引腳;
Pin13 ~ Pin20引腳:RB是芯片擴展的IO引腳;
Pin22 & Pin23引腳:IIC通信接口功能引腳;
Pin12 & Pin24引腳:芯片的電源輸入引腳;
(AL5224引腳定義圖)
通過引腳功能定義,工程師基本可以分析出芯片的工作原理,也就是通過IIC接口擴展了單片機的IO引腳數量,這從芯片的內部結構框圖更容易看出。
AL5224芯片內部框圖
在AL5224芯片的內部框圖中,主要包含四個部分:地址生成器,IIC控制器,寄存器與控制器,普通IO引腳Port A與Port B;
(AL5224功能框圖)
(1)地址生成器:主要是通過ADD0、ADD1以及ADD2外部的硬件電路定義IIC的通信地址,常用的簡便設計是將ADD0、ADD1與ADD2直接接地;
(2)IIC控制器:主要是AL5224芯片與單片機之間通信的橋梁,用以數據交換,實現IO引腳擴展功能;
(3)寄存器與控制器:主要是將IIC通信的數據暫存于此,便于轉換成Port A和Port B引腳輸出;
(4)普通IO引腳Port A與Port B:此兩個引腳就是芯片需要擴展的IO引腳,等同于單片機的IO引腳功能;
分析完這些內容之后,工程師或許更清晰地認識了AL5224芯片的功能;但這些內容還僅僅停留在理論層面,那么具體在項目開發中,如何去應用呢?如何去設計呢?如何開發電路呢?
AL5224芯片應用電路
在了解完AL5224芯片基本的電路特性之后,工程師迫切地想著手去解決項目中實際存在的問題,否則就失去了工作意義。
(AL5224芯片應用電路)
AL5224芯片的工作電源電壓范圍為2.0V~5.5V,既可以兼容5V的邏輯電平,也可以兼容3.3V的邏輯電平。
AL5224芯片的應用電路,工程師很容易設計開發,只需將SCL與SDA引腳連接單片機的IIC引腳即可,這樣單片機就輕易地實現了解決擴展IO引腳數量的問題了;單片機通過2個IO引腳SCL與SDA,擴展了16個IO引腳數量,也就實現了擴展IO引腳數量的功能。
文末結尾:
在介紹完AL5224芯片的電路特性之后,工程師或許在對比中發現,相對重新選擇新的單片機型號而言,選擇AL5224 IO引腳擴展芯片方案更具有普遍性,可操作性更強;正所謂事務都具有雙重性,有正面必然有反面,AL5224芯片的電路方案也存在一些不足之處。
增加項目的BOM核算成本,主要是增加了AL5224的芯片成本;
AL5224 IO引腳擴展芯片,擴展了14個IO引腳數量;顯然在實際項目開發中很少會遇到需要擴展14個IO引腳的數量,即便AL5224系列芯片也支持擴展8個IO引腳數量,但會造成一些多余的IO引腳資源浪費現象。
-
單片機
+關注
關注
6043文章
44621瀏覽量
638640 -
控制器
+關注
關注
112文章
16452瀏覽量
179490 -
寄存器
+關注
關注
31文章
5363瀏覽量
121201 -
IO引腳
+關注
關注
0文章
10瀏覽量
9445
原文標題:終于明白!如何擴展單片機的IO引腳數量?
文章出處:【微信號:fcsde-sh,微信公眾號:fcsde-sh】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
請大師指教,51單片機IO通過8050驅動電機,不轉?!
λ-IO:存儲計算下的IO棧設計
![λ-<b class='flag-5'>IO</b>:存儲計算下的<b class='flag-5'>IO</b>棧設計](https://file1.elecfans.com/web3/M00/00/AF/wKgZO2dNHbaAIkp-AAAM3550zYU863.png)
評論