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