背景 嵌入式系統中,硬件方面,有很多常見的外圍設備。 在此,專門整理一下。 什么是嵌入式系統中的外設 外設==外部設備==Peripheral · 外部:主要指的是除了嵌入式系統中主要的CPU,即SoC,MCU等之外的 · 設備:某種硬件功能模塊 外設==接口 此處,所指的外設,也常被稱為各種接口,硬件接口。 因為是:存在對應的物理上的看得見的,以及那些屬于硬件內部的肉眼不容易看見的,各種接口,通過對應接口連接外部設備。 下面總結一下,常見的,有哪些外設。 嵌入式系統的各種常見的外設 AFE(Analog Front End) 一個模塊,包含了一堆的模擬電路,實現對應的模擬方面的功能。 比如功放amplifiers, filters過濾器等等。 常常和數據采集,音頻等方面有關。 ADC/DAC Analog Digital Converter/ Digital Analog Converter 模擬數字轉換器 / 數字模擬轉換器 在模擬和數字之間進行轉換。 比如: 常常ADC,用于外掛某種傳感器,然后通過ADC或DAC,轉換成對應的數字信號,然后可以通過嵌入式SoC去讀取對應的數據。 CRC硬件模塊 當然,CRC算法,是可以通過軟件實現的。 但是為了提高計算的效率,有時候可以利用已有的CRC模塊去實現CRC計算。 比如: Using the CRC Module on the Flexis AC Family CRC本身,又有一些細節劃分和叫法 比如: CRC16-CCITT CRC32 等等。 CAN CAN總線接口。 比如: http://www.freescale.com/zh-Hans/webapp/sps/site/prod_summary.jsp?code=MCF5227X 中就有:“FlexCAN” 比如:http://www.microchip.com/pagehandler/en-us/family/32bit/architecture.html 就有:“2x CAN 2.0B Ports” USB USB Host:固定的作為USB的Host USB Slave:固定的作為USB的Slave USB OTG:即可以做Host,也可以做Slave,可以通過軟件配置 現在很多手機,如果號稱支持USB Host,那么往往都是對應的內部硬件上有個USB OTG模塊的。 關于相關知識的整理,可參考: 【整理】關于安卓(Android)手機是否支持USB主機(USB Host)功能 比如: (1) http://www.freescale.com/zh-Hans/webapp/sps/site/prod_summary.jsp?code=MCF5227X 中,就有:“USB OTG”(2) http://www.microchip.com/pagehandler/en-us/family/32bit/architecture.html 就有:“Full-speed USB Host/Device/OTG” Video Codec視頻解碼 硬件實現視頻解碼 包括: JPEG VC1 WMV 視頻解碼方面,常常還會涉及到一個 pp:post processing,后處理 的功能。 比如圖像的混合,圖形的旋轉,等等。 也是通過硬件模塊去實現的,比軟件處理,效率更高,更快。 一些資料供參考: Chapter 9. Pre- and Post-Processing SAM9M10 Hardware Video Decoder Post Processing Engine Features Audio Codec音頻解碼 硬件實現音頻解碼: · AAC · MP3 · WMA · WMA8 + Microsoft PDDRM · WMA9 + DRM10 · OGG · WAV 音頻解碼,往往還涉及相關的內容 比如: Equalization均衡 等等。 時鐘Clock相關模塊:晶振Crystal,CCU 晶振,crystal,產生對應的時鐘 然后用CCU,Clock Unit Control,去控制對應的時鐘頻率,變高或變低,達到對應的頻率 然后輸送給外設各個模塊。 LCDC(LCD Controler) LCD的controller,LCD的控制器 ,LCD顯示屏的控制器 可以支持外接很多種不同類型的顯示屏。 比如: http://www.freescale.com/zh-Hans/webapp/sps/site/prod_summary.jsp?code=MCF5227X 中,就有個LCDC 硬件加密模塊crypto 比如AES加密等等。 DMA 常見的接口之一。 GPIO 常見的接口之一。 I2C 常見的接口之一。 I2C 比如: http://www.freescale.com/zh-Hans/webapp/sps/site/prod_summary.jsp?code=MCF5227X 中,就有個I2C I2S 主要用于音頻。 往往和聲卡,音頻,有關。 之前轉載的帖子供參考: I2S標準 IDE IDE硬盤。 更多的用于PC端。 但是,偶爾也會遇到,嵌入式系統中掛IDE硬盤的。 Keyboard [Matrix] 嵌入式中的鍵盤, 主要指的是, 有限的幾個按鍵 所以往往是鍵盤矩陣Keyboard Matrix 之前折騰過,PC端的鍵盤,其本質的原理是類似的,也可以參考參考: 鍵盤Keyboard中的掃描碼Scan Code 通碼Make code 斷碼Break Code Memory Controller:MPMC 內存控制器MPMC 可以外掛各種存儲介質 主要指的是SDRAM Nor Flash Flash本身,雖然分Nand Flash和Nor Flash但是,Flash這個詞,本身常常代表Nor Flash本身。 又分:Nor Flash有時候也是指的是EEPROM比如 http://www.microchip.com/pagehandler/en-us/family/32bit/architecture.html 就有:“Up to 512 KB Flash” Nand Flash Nand Flash中可能會涉及到bch算法。 電源管理PMU Power Management Unit 用于管理電源的。 可以控制各種硬件模塊的電源,的電壓,以達到: · 可以使得硬件工作穩定和正常 · 可以實現功耗管理 · 正常電壓時,性能好,但是功耗大 · 低電壓時,功耗相應降低,但是性能相對弱 wiki的解釋供參考: http://en.wikipedia.org/wiki/Power_Management_Unit 實時時鐘RTC(Real Time Clock)RTC,常見的,嵌入式中的基本功能之一。斷電也可以正常運行。 比如: http://www.freescale.com/zh-Hans/webapp/sps/site/prod_summary.jsp?code=MCF5227X中,就有個RTC SD/MMC、SSP 也是常見接口之一。 Synchronous Serial Port http://en.wikipedia.org/wiki/Synchronous_Serial_Port SSP與SPI接口的區別是什么? http://zhidao.baidu.com/question/247087991.html Touch Panel觸摸屏 也是屬于顯示屏相關的,但是支持觸摸。 TVOUT 顯示內容輸出格式之一。 顯示到電視上。 包括對應的PAL或NTSC等格式。 UART/RS232/串口 WatchDog看門口 簡稱WDT JTAG 用于支持JTAG口去調試芯片 屬于調試方面的東西 Ethernet 網卡,以太網卡比如: http://www.microchip.com/pagehandler/en-us/family/32bit/architecture.html 就有:“10/100 Ethernet MAC with MII/RMII Interfaces” 總結 嵌入式系統,的開發過程中,往往,更多的時候,可能就是去學習和了解這些外設的工作原理,然后接著去實現對應的驅動。這往往是常見的,典型的,嵌入式開發,所要做的事情之一。 以下課程可免費試聽C語言、電子、PCB、STM32、Linux、FPGA、JAVA、安卓等。 想學習的你和我聯系預約就可以免費聽課了。 宋工企鵝號:35--24-65--90-88 Tel/WX:173--17--95--19--08 |