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