專注差異化嵌入式產(chǎn)品解決方案 給智能產(chǎn)品定制注入靈魂給予生命
提供開發(fā)工具、應(yīng)用測試 完善的開發(fā)代碼案例庫分享
從全面的產(chǎn)品導(dǎo)入到強大技術(shù)支援服務(wù) 全程貼心伴隨服務(wù),創(chuàng)造無限潛能!
提供新的芯片及解決方案,提升客戶產(chǎn)品競爭力
提供最新的單片機資訊,行業(yè)消息以及公司新聞動態(tài)
在電子產(chǎn)品開發(fā)選擇單片機之前,我們先大致畫一個框圖,整理出整個系統(tǒng)所需的所有各種功能。將框圖作為電子產(chǎn)品開發(fā)預(yù)設(shè)計的一部分,這樣可以在開始設(shè)計實際原理圖之前布局項目。
在單片機開發(fā)是有多個問題需要明確:什么需要連接到單片機?他們需要什么通信協(xié)議?需要多少個通用輸入/輸出(GPIO)引腳?需要多少個通信端口?
在選擇單片機之前,需要這些信息。實際上可用的單片機單片機有很多,如果不想選擇一款性能或功能過剩的單片機,這些前期的問題可以幫助你減少不必要工作量或預(yù)算。
另一方面,單片機開發(fā)人員也不希望用太有限的單片機來限制自己。你可能希望在未來添加新的產(chǎn)品功能,因此你需要一個合適的單片機,以便在必要時為你提供一點成長空間。
所以,我們需要更詳細(xì)地了解單片機上一些最常見的功能和外設(shè):
一、內(nèi)存類型
RAM和FLASH存儲器已內(nèi)置于大多數(shù)單片機中。RAM內(nèi)存用于臨時數(shù)據(jù)存儲。RAM被認(rèn)為是易失性存儲器,因為一旦電源關(guān)閉它就會丟失其內(nèi)容。FLASH是非易失性存儲器。即使關(guān)閉電源,它仍會保留其內(nèi)容。FLASH主要用于存儲程序(稱為固件)。
EEPROM(電可擦除只讀存儲器)也是非易失性存儲器,但它通常用于存儲少量數(shù)據(jù),例如配置和可變狀態(tài)。EEPROM的優(yōu)點是允許按字節(jié)擦除,而閃存僅允許擦除整個字節(jié)塊或頁面。
二、數(shù)字輸入/輸出(GPIO)
單片機上的數(shù)字輸入和輸出稱為通用輸入輸出或GPIO。GPIO引腳是用于輸入或輸出的邏輯電平引腳(高或低)。它們通??梢则?qū)動高達幾十毫安的負(fù)載,但通常需要使用某種外部驅(qū)動電路來減輕驅(qū)動要求。此外,加在一起的所有引腳必須低于允許的最大總電流。
在決定使用哪些引腳時,請務(wù)必查閱單片機規(guī)格書,因為某些引腳上不提供許多內(nèi)部功能。你還必須遵守特定的映射限制,映射意味著設(shè)置哪些引腳服務(wù)哪些功能。單片機上的大多數(shù)引腳具有多種可能的功能,可為硬件設(shè)計人員提供最大的靈活性。
三、模擬輸入和輸出
除了數(shù)字I/O,大多數(shù)單片機還可以精確測量模擬電壓,有些還具有輸出精確模擬電壓的能力。模擬電壓由單片機使用稱為模數(shù)轉(zhuǎn)換器(ADC)的嵌入式專用電路進行測量。
從單片機輸出模擬電壓有兩種方法。最精確但更復(fù)雜的方法是使用數(shù)模轉(zhuǎn)換器(DAC)電路。有許多單片機包含用于此目的的內(nèi)置DAC,但許多單片機沒有。大多數(shù)單片機上可用的第二種方法是使用脈寬調(diào)制(PWM)發(fā)生器。PWM是一種在高電平和低電平之間振蕩的數(shù)字信號。單片機能夠控制由固件程序確定的該信號高的時間百分比。PWM信號然后可以通過一個低通濾波器將其轉(zhuǎn)換為模擬電壓,通過控制PWM信號高與低的時間百分比,你可以準(zhǔn)確地控制濾波器輸出側(cè)的模擬電壓電平。
四、通用異步接收器發(fā)送器(UART)
今天仍在單片機中使用的最古老的串行通信方法稱為UART,UART自1970年代初就已存在。顧名思義,UART是一種異步協(xié)議,意味著沒有時鐘信號來同步信號時序。UART的最簡單形式僅使用兩條信號線:接收(RX)和發(fā)送(TX)。
同步通信支持更快的數(shù)據(jù)傳輸速率。異步通信必須向數(shù)據(jù)添加同步位。發(fā)送這些額外的同步位會增加開銷,因此會降低有效的數(shù)據(jù)傳輸速率。同步通信的缺點是它需要額外的時鐘信號線。它還需要主/從配置,因為主設(shè)備必須是生成時鐘信號的設(shè)備。
UART通常與其他標(biāo)準(zhǔn)(例如RS-232或RS-485)結(jié)合使用,以實現(xiàn)更遠距離的外部串行通信。一些單片機上也提供稱為USART的同步UART。
五、串行外設(shè)接口(SPI)
SPI是一種同步通信協(xié)議。它通常比UART或I2C接口快得多。SPI是一種全雙工通信標(biāo)準(zhǔn),這意味著它可以同時發(fā)送和接收數(shù)據(jù)。與UART一樣,SPI僅用于短距離通信,這在大多數(shù)情況下意味著同一PCB上的芯片之間。
SPI由4條線組成,或者實際上是3條線加上每個外圍設(shè)備的一條線。SPI信號是MISO(主入從出)和MOSI(主出從入)、SCLK(串行時鐘)和SS(從選擇)。可以將多個外圍設(shè)備連接到單片機的SPI端口,但一次只能選擇一個設(shè)備。SPI的主要優(yōu)點是它的數(shù)據(jù)傳輸速度更快。SPI的主要缺點是需要4條信號線,而UART和I2C只需要2條信號線。
六、內(nèi)部集成電路(I2C)
I2C是一種同步串行總線協(xié)議,用于同一板上組件之間的串行通信。I2C的主要優(yōu)點是它只需要兩根線,是同步的,并且與UART或SPI不同,I2C是一種總線協(xié)議。
成為真正的總線意味著I2C允許多個設(shè)備連接到相同的兩條線。I2C為每個設(shè)備使用唯一的地址,而不是像SPI那樣使用從設(shè)備選擇信號。這一事實極大地簡化了板載信號路由。
與SPI一樣,I2C使用時鐘信號來同步通信。但是,與SPI不同的是,I2C只是半雙工,因此它對數(shù)據(jù)輸入和數(shù)據(jù)輸出使用單個信號。I2C不能同時在兩個方向發(fā)送數(shù)據(jù)。這種簡單性的代價是I2C比SPI慢得多。因此I2C主要用于連接不需要高數(shù)據(jù)傳輸速度的兩個組件。它特別適用于連接傳感器(相對較慢)。
七、通用串行總線(USB)
USB這種串行通信協(xié)議用的很多,USB是大多數(shù)單片機上可用的最快的串行通信協(xié)議,它通常用于在外設(shè)之間傳輸大量數(shù)據(jù)。