① 硬體工程師該具備的元器件知識與技能,你都會嗎
一個好的硬體工程師應該具備的基本知識和能力
1. 快速學習的能力:
作為一個通信汪,我就以通信設備方面來說吧!
一方面,通信技術,標准,晶元更新的太快了,快到你根本來不及系統的了解它,只能通過特定的項目,需求進行了解;另一方面對於公司來說,需要做的硬體產品也是變化很快,客戶需要T1, E1, PDH, SDH,Ethernet, VoIP, Switch, Router, 沒有人是什麼都懂的,都需要能夠結合客戶的需求,選擇的晶元方案進行詳細了解,尤其對於介面協議和電氣特性。
假設你是做電源的,同理,你也需要對電源相關的知識和客戶的需求進行深入的理解和學習吧?
2. 對協議和標準的理解:
繼續用通信設備做代表。
通信設備,顧名思義,就是用來實現多種通信協議(比如T1, E1, V.35,PDH, SDH/SONET, ATM, USB, VoIP, WiFi, Ethernet, TCP/IP,RS232等等常用協議)實現通信的設備,各種電路,PCB板,電源都是為了通信協議服務的。
通信協議一般都是由晶元實現,要麼是成熟的 ASIC,要麼是自己開發的FPGA/CPLD,晶元工程師或者FPGA工程師比硬體工程師跟靠近通信協議,他們需要對於通信協議理解很透徹,實現各種邏輯上的狀態機以及滿足協議規定的電氣參數標准。按照OSI的七層模型,硬體工程師尤其需要專注於一層物理層和二層數據鏈路層的協議標准,以 Ethernet距離,物理層是由PHY/transceiver晶元完成,數據鏈路層是由MAC/switch 晶元完成,對於從事Ethernet相關開發的硬體工程師來說,需要對於PHY和Switch晶元理解透徹,從編碼方式,電氣參數,眼圖標准,模板,信號頻率到幀格式,轉發處理邏輯,VLAN等等。
對於傳統PDH/SDH/SONET設備就更是如此,PDH/SDH/SONET是更硬體的設備,就是說主要協議都是通過ASIC實現的,軟體的功能主要是管理,配置,監視,告警,性能,對於硬體工程師來說,必須要熟悉使用的相關協議和介面標准,尤其對於電氣規范,眼圖模板,這樣在設計驗證的時候才能胸有成竹。
如果你做智能家居的,你對藍牙、WIFI、Zigbee的新標准應該要深入了解吧,各自的優劣勢也應該了如指掌吧,最新的標准有啥提升和缺點也可以信手拈來,說不定這樣你就能做出符合消費者需求的全新產品呢!也指不定在跳槽的時候,因為你掌握了一個別人還沒有了解的技術,而獲得成功呢!
3. 寫文檔的能力:
誠如軟體設計一樣,好的軟體設計需要好的設計文檔,明確需求,實現什麼功能,達到什麼驗收標准,隨著晶元集成度的增加,介面速率的提高,單板復雜度的提高,硬體設計也越來越復雜以及對應熱穩定性,可靠性,電磁兼容,環境保護的要求,已經不是通過小米加步木。倉的游擊戰可以解決了,每一個硬體項目都是一場戰爭,都需要好好的規劃,好好的分析,這就需要好好做文檔。
對於硬體工程師來說,最重要的文檔有兩個:一個是硬體設計規范(HDS : hardware design specification)和硬體測試報告(一般叫EVT:Engineering Validation& Test report或者DVT: Design Validation & Test report),對於HDS的要求是內容詳實,明確,主晶元的選擇/硬體初始化,CPU的選擇和初始化,介面晶元的選擇/初始化/管理,各晶元之間連接關系框圖(Block Diagram),DRAM類型/大小/速度,FLASH類型/大小/速度,片選,中斷,GPIO的定義,復位邏輯和拓撲圖,時鍾/晶振選擇/拓撲,RTC的使用,內存映射(Memory
map)關系, I2C器件選擇/拓撲,介面器件/線序定義,LED的大小/顏色/驅動,散熱片,風扇,JTAG,電源拓撲/時序/電路等等。
對於DVT來說,要求很簡單也很復雜:板卡上有什麼介面,晶元,主要器件,電路,就要測試什麼,尤其在板卡正常工作的情況下的電源/電壓/紋波/時序,業務介面的眼圖/模板,內部數據匯流排的信號完整性和時序(如MII, RGMII, XAUI, PCIe,PCM bus, Telecom Bus, SERDES, UART等等),CPU子系統(如時鍾,復位,SDRAM/DDR,FLASH介面)。
好的硬體工程師無論是做的文檔還是報道都是令人一目瞭然,這個硬體系統需要用什麼方案和電路,最後驗證測試的結果如何。內容詳實,不遺漏各種介面/電路;簡單名了,不說廢話;圖文並茂,需要的時候一個時序圖,一個示波器抓圖就很能說明問題了。
4. 儀表/軟體的使用能力:
儀表包括電烙鐵,萬用表,示波器,邏輯分析儀,誤碼儀,傳輸分析儀,乙太網測試儀Smartbits/IXIA,熱量計,衰減器,光功率計,射頻信號強度計等等;軟體包括Office(Outlook,Word, Excel, PowerPoint, Project, Visio),pdf,常用原理圖軟體Pads或者OrCAD,常用PCB軟體Pads或者Allegro,Allegro Viewer,電路模擬軟體PSPICE,信號模擬軟體HyperLynx等等。
無論儀表還是軟體,在政治經濟學里說都是生產工具,都是促進生產力提高的,作為硬體工程師來說,這些儀表和軟體就是手中的木。倉炮,硬體工程師很大一部分能力的體現都在與儀表和軟體的使用上,尤其對於原理圖軟體和示波器的使用,更是十分重要,原理圖軟體的使用是硬體設計的具體實現,通過一個個器件的擺放,一個個NET的連接,構成了是十分復雜的硬體邏輯軟體,是整個硬體設計的核心工作,任何一個原理圖上的失誤和錯誤造成的損失都是巨大的,真是「如履薄冰,戰戰兢兢」。
另外,原理圖軟體的使用還體現在原理圖的美觀上,好的設計,簡單明了,注釋明確,無論是誰,順著思路就能很快搞清楚設計意圖,需要特別注意之處,不好的設計,東一個器件,西一個器件,沒有邏輯,命名怪異,難以理解,日後維護起來相當麻煩;示波器在所有測試儀表之中,對於硬體工程師是最重要的,無論原理圖還是PCB都是設計工作,但是任何設計都需要仔細的驗證測試,尤其在信號方面,都需要大量的示波器工作,不會正確的使用示波器根本談不上正確的驗證,接地有沒有接好,測試點的選擇,觸發的選擇,延時的選擇,幅度、時間的選擇,都決定著測試的結果。如果錯誤的使用示波器必然帶來錯誤的測試結果,這種情況下,有可能本來是錯誤的設計被誤認為是正確的,帶來巨大的隱患;本來是正確的設計被誤認為是錯誤的,帶來大量的時間精力浪費。
5. 電路設計的能力:
隨著晶元集成度的提高,硬體設計似乎變簡單了。首先是邏輯連接,其次考慮信號完整性需要的串列電阻選擇和並行電容選擇,電源濾波,退耦。不過對於好的硬體工程師來說,簡單的邏輯連接(這個晶元的同樣匯流排的輸出接另一個晶元的輸入,等等),只是硬體設計的最基本技能,電路是晶元功能,通信協議和各種軟體的載體,沒有對電路的深入理解,根本談不上對硬體設計的深入理解,尤其對於晶元後面列的電氣性能參數或者離散器件各種參數的理解,胡亂亂接,可能在3.3V的匯流排上可以工作,但是現在工作電壓已經降到1V了,什麼概念,信號線上的雜訊都已經大到可以使采樣出現誤判了,隨著信號速率的提高和工作電壓的降低,數字信號已經越來越模擬化了,這就需要對於PCB的阻抗,容抗,感抗,離散器件(電阻,電容,電感,二極體,三極體,MOSFET,變壓器等),ASIC的介面電氣參數深入了解,這都需要對電路原理,模擬電路甚至電磁場理論深入學習,電路可以說是電磁場理論的子集,沒有電磁場理論的理解,根本談不上對於電容,電感,串擾,電磁輻射的理解。
尤其對於電源電路設計上,現在晶元電壓多樣化,電壓越來越低,電流越來越大,運營商對於通信設備功耗的嚴格要求,散熱要求,對於電源設計的挑戰越來越大。可以說,對於一個硬體設計來說,40%的工作都是在於電源電路的原理圖/PCB設計和後期測試驗證,電源電路設計是硬體工程師電路能力的集中體現,各種被動器件、半導體器件、保護器件、DC/DC轉換典型拓撲,都有很多參數,公式需要考慮到,計算到。
6. 溝通和全局控制的能力:
硬體工程師在一個硬體項目中,一般處於Team leader的作用,要對這個硬體項目全權負責,需要協調好PCB工程師,結構工程師,信號完整性工程師,電磁兼容工程師等各種資源,並與產品經理,項目經理,軟體工程師,生產工程師,采購工程師緊密配合,確保各個環節按部就班,需要對整個項目計劃瞭然於胸,各個子任務的發布時間,對於可能出現的技術難題和風險的估計,控制。
對於外部來說,硬體工程師還要與晶元的分銷商,FAE處理好關系,爭取獲得更大的技術支持和幫助;與EMC實驗室,外部實驗室打好交道,獲得更靈活的測試時間和更多的整改意見。
② 推薦幾本arm的書籍
剛踏入一個新的領域,一本好書如同一個朋友能隨時指點自己,所以相當重要。如果你具備一定的C語言和單片機基礎的話,學好ARM是不難的。
學ARM可以從ARM7學起,有利於你理解整個ARM嵌入式方面的概念。 推薦 劉凱 寫的一套書籍《ARM嵌入式應用技術基礎》和《ARM嵌入式介面技術》,裡面的內容講的非常地道,對初學者而言是相當不錯的。
③ MSP430F2274的JTAG可以是4腳的么VCC、GND、RST/SBWTDIO、TEST/SBWTCK四個角可以么希望回答有圖!!!
德州的官方網站上面 搜索 MSP430F2274
在下面的PDF下載中有個MIXED SIGNAL MICROCONTROLLER
裡面有詳細的引腳說明:
TEST/SBWTCK : Selects test mode for JTAG pins on Port1. The device protection fuse is
connected to TEST.Spy-Bi-Wire test clock input ring programming and test.
P1.4/SMCLK/TCK
P1.5/TA0/TMS
P1.6/TA1/TDI/TCLK
P1.7/TA2/TDO/TDI†
再就是復位腳 GND 和 VCC
一共是6跟引腳(JTAG標准) + 1 的轉換選擇
④ MT6225晶元有些什麼功能及其參數。
完全引用別人pdf原文,不知哪位高人發的,有耐心就請看下文。
mt6225 是一個高度集成的單晶元解決方案GSM / GPRS 手機。基於 32 bitarm7ej -掃描隧道
顯微鏡的 RISC
處理器, mt6225 特點不僅高性能 GPRS的 12 級數據機,又是設計與支持為無線多媒
體應用,如先進的顯示引擎,音頻合成與 64個音復音,數字音頻播放, Java加速,
MMS和等,此外, mt6225提供品種先進的介面,為功能的擴展,如三埠的外部記憶體
介面,3個港口8/ 16位並行介面,NAND快閃記憶體,通過紅外,USB和MMC /SD / MS /
MS法典型應用
mt6225是有能力辦好的 ARM7EJ-掃描隧道顯微鏡的 RISC 處理器高達104兆赫,從而提供
快速數據處理能力。除了高時鍾頻率,一個單獨的代碼緩存還補充說,為進一步提高整體系
統效率。
對於大量的數據傳輸,高性能的 DMA (直接記憶體存取)與硬體流量控制,是執行,從
而大大提高了數據移動速度,同時降低單片機的處理負荷。 外部記憶體介面提供最大擴展
能力和最高頻寬數據密集型應用,如至於多媒體功能, mt6225 支持高達 3 外部國有企業利
用最先進的設備通過其 8 /16 位主機介面。
高性能的設備,如移動 RAM 和蜂窩RAM 的支持,為最大限度的帶寬。
傳統的設備,如水管爆裂/頁模式下閃光,頁數模式的 SRAM和偽 SRAM的,也是支持的。
為最大的兼容性,內存介面也可以用於連接遺留的設備,如顏色/並行液晶顯示器,多媒體
傳媒同伴晶元都支持透過這個介面。為了最大限度地減少電力消耗並確保低噪音,這個介面
是專為靈活輸入/輸出電壓,並允許降低供電電壓下降到1.8V 。驅動力量是可配置為號完
整性的調整。該數據匯流排,還採用了保留技術,以防止公共汽車從浮動
在翻過。
多媒體子系統
為了提供更多的靈活性和帶寬多媒體產品,另外8 /16 位並行介面納入其中。這個界面設計
專為支持與數碼相機輔助晶元以及由於 LCD面板。此外, mt6225 有照相機的 YUV 介面,
可以連接到 CMOS感測器的解析度高達以個 VGA 。此外,它可以連接 NAND快閃記憶體
裝置提供一個解決方案,多媒體數據存儲。為運行的多媒體應用速度更快, mt6225 整合也
有若干基於硬體的引擎。與硬體基礎resizer 和先進的顯示引擎,它可以顯示和結合任意大
小的圖像,最高可達 4 共混層。
用戶界面
為用戶互動, mt6225召集所有必要的周邊塊多種媒體的 GSM / GPRS 電話。它包括鍵盤掃
描儀與能力多重關鍵緊迫的 SIM 控制器, alerter ,實時性時鍾,脈寬調制,串列 LCD控
制器和通用可編程 I /O 。為連接和數據存儲, mt6225組成的 UART ,紅外線, USB 1.1
的奴隸,的 SDIO 和的 MMC /SD /MS /MS的親。
音頻介面
採用了高集成度的混合信號音頻前端, 該 mt6225 架構可以很容易地音頻介面與直接連接
到音頻探頭。音頻介面集成 D /A和 A/D轉換為語音樂隊,以及高解析度的立體聲數字/模
擬轉換器像帶。此外, mt6225還提供立體聲投入與類比多工器。
mt6225 supportsamr codec ,以自適應優化講話和音頻質量。此外,他-的 AAC 編解碼器是
實施提供 CD 質量的音頻在低比特率。 總體而言, mt6225 的音頻功能提供了豐富的平台
對於多媒體應用程序。
無線介面
mt6225 集成了混合信號基帶前端設備在為了提供一個組織良好的無線介面與靈活有效的個
性化。它包含增益和偏移校準機制,並與過濾器可編程系數綜合兼容性控制射頻模塊。這一
方法還允許使用的一個高解析度數/模轉換器,為控制壓控振盪器或晶體,因而減少了需要
昂貴 tcvcxo 。 mt6225實現偉大數據機業績利用 14位高解析度A/D
變頻器在射頻下行軌道。此外,為了減少需要額外的外部電流驅動元件,駕駛實力的一些公
眾宣傳部門的產出是設計來配置的。
調試功能
JTAG介面,使在電路調試軟體程序與獲得ARM7EJ- S核心。與此規范調試界面, mt6225
規定開發商與一系列廣泛的選項供您選擇手臂開發套件由支持的 30個締約方。為保安理由,
JTAG介面,可以由殘疾人編程內部的 OTP (一次性可編程)保險絲。
電源管理
該 mt6225 提供多種低功耗功能,以協助降低系統電源消耗。這些特徵包括:稍停模32khz
時鍾,在待機狀態下,電源關閉模式,為個人外設和處理器睡眠模式。
此外, mt6225 也是捏造的,在先進的低泄漏CMOS 製程,因此提供了一個整體超低泄漏
的解決辦法。
軟體包
該 mt6225 器件提供了一個 12毫米× 12毫米, 264球, 間距為 0.65mm , TFBGA封裝。
6225平台的特點
一般綜合語音頻帶,音像帶和基帶模擬前端
TFBGA可適用 12毫米× 12毫米, 264球, 0.65毫米間距軟體包單片機子系統
獲得 ARM7EJ- S的 32位 RISC 處理器
高性能多層 AMBA匯流排
Java 的硬體加速快速基於 Java 的游戲和應用程序獲得 ARM7EJ- S 操作頻率: 26/52/104
兆赫專用 DMA匯流排
14通道的 DMA
48k 位元組片上SRAM
72k位元組的 MCU專用緊耦合內存
16k位元組碼緩存單晶片的 BootROM工廠閃光編程看門狗定時器為系統故障恢復
2套通用定時器
circuittch數據協處理器師協處理器外部記憶體介面支持多達3外部設備支持8位或16位內
存元件最大規模高達 64M 位元組,每個支持移動RAM和蜂窩內存
支持快閃記憶體和 SRAM同頁模式或突發模式
支持偽靜態存儲器行業標準的並行 LCD介面支持多種媒體輔助晶片與 8/ 16 位數據寬度靈
活的輸入/輸出電壓為 1.8V ? 2.8V的內存介面可配置的驅動力量,為記憶介面
用戶界面六排× 7柱鍵盤控制器硬體掃描器支持多種關鍵塑機游戲
SIM 卡/控制器的 USIM 與硬體噸=0 /t =1處議定書控制
實時時鍾( RTC )的運作與一個單獨電力供應
通用 I /O (的 GPIO )
2套脈寬調制( PWM )輸出
alerter輸出改進型 PWM或 PDM的
4 ? 10個外部中斷線路
連通
三 UART等硬體流量控制,並加快到 921600個基點
紅外調制/解調器的硬體 framer 支持先生的運作模式
全速 USB 1.1設備控制器
多媒體卡/安全數字記憶
卡/記憶棒/記憶棒主辦控制器
支援 SDIO 介面的 SDIO 外設作為以及 WiFi 的連接
戴/ PCM和 I2S介面,為音頻應用
安全
支持安全的關鍵代碼保護
143位獨特/秘密晶元 ID
電源管理
電源關閉模式,為模擬和數字電路
處理器睡眠模式
稍停模式 32khz時鍾,在待機狀態
7通道配套的 10位模/數轉換器充電器和電池監測和遙感圖片
測試和調試
內置式數字和模擬環路返回模式音頻和基帶前端設備
戴港口遵守與 GSMrec.11.10
JTAG埠,為調試嵌入式微控制器
1.2數據機功能
無線介面和基帶前端
gmsk 調制器,模擬 I和 Q通道產出
10位/模擬轉換為上行基帶 I和 Q 信號
14位高解析度 A/D轉換為下行基帶I和 Q信號
校正機制的偏移和增益錯配問題,為基帶/數轉換器和數字/模擬轉換器
10位元數/模轉換器 forautomatic 電源控制
13位高解析度/模轉換器自動頻率控制
可編程無線電收發濾波器
2通道雙向型基帶串列介面( BSI )頒發同三線或四線管制
10針基並行介面(公眾宣傳局)可編程驅動力量
多波段支持
語音和數據機編解碼器
撥號音代
語音備忘錄
降噪
回聲抑制/回波抵消
先進 sidetone振盪減少
數碼 sidetone發生器可編程增益
兩個可編程聲波濾波器補償
支持 GSM/ GPRS 四語音編碼器,為自適應多速率( AMR )系統,增強型全速率(英法
俄) ,全速率(神父) 和半額(人力資源)
神父的錯誤隱藏
GSM的信道編碼,均衡和 A5/1 個A5/ 2 和A5/3 加密
GPRS的 gea1 , gea2和 gea3加密
可編程的 GSM/GPRS數據機
packettched數據與 cs1/cs2/cs3/cs4 編碼方案
GSM的 circuittch數據
GPRS的 12級
語音界面和語音前端
兩個麥克風輸入共用一個低噪音可編程增益放大器和自動增益控制( AGC )機制
話音功率可編程增益放大器
二階Σ - △ A/D轉換為語音上行之路
D/A轉換為語音下行路徑
支持半雙工手機免提操作
兼容與 GSM03.50
1.3多媒體功能
液晶/ NAND快閃記憶體介面
18位並行介面支持 8 /16位的 NANDFlash及8/9/16/18位並行液晶顯示器
8/ 16位 NAND快閃記憶體控制器與 1位 ECC的校正大規模貨倉
2晶元選擇適用於高密度 NAND 閃光裝置
串列 LCD介面與 8/ 9 位格式支持
液晶顯示控制器
硬體加速顯示器
支持同步連接多達 2 平行液晶顯示器和 1個串口液晶顯示模塊
支持格式: rgb332 , rgb444 , rgb565 , rgb666 , rgb888
支持 LCD面板,最大解析度可達 800x600在 16bpp
支持硬體旋轉顯示
能力相結合的展示回憶最多四共混層
加快伽瑪校正可編程伽馬表。
圖像信號處理器
8位的 YUV 格式影像輸入
能處理圖象的大小最多的 VGA
靈活的輸入/輸出電壓為 1.8V ? 2.8V的
音頻編解碼器
wavetable合成多達 64噸
先進的立體聲 wavetable合成器
wavetable包括基因改造全套 128 文書和 47 套percussions
中成葯回放和記錄
數字音頻播放
他-的 AAC 解碼支持
音頻介面和音頻前端
支持 I2S介面
高解析度數字/模擬轉換器為立體聲音頻回放
立體聲模擬輸入立體聲音頻源
類比多工器為立體聲音頻
立體聲單聲道轉換
FM廣播錄音
.4一般說明
mt6225 基於雙處理器架構,主要處理器的mt6225 是的 ARM7EJ- S ,其中主要是違背了
高層次的 GSM/GPRS協議軟體,以及多媒體應用程序。與另外一個是數字信號處理器相應
的處理低級別數據機以及先進的音頻職能。除了一些混合信號電路外,其他積木在
mt6225相連要麼微控制器或數字信號處理器。
具體來說, mt6225包括以下子系統:
微控制器( MCU )的子系統,其中包括一名獲得 ARM7EJ- S RISC處理器及其所附
內存管理和中斷處理邏輯。
數字信號處理器( DSP )子系統,其中包括一個DSP 及其所附的記憶,記憶控制器和中
斷控制器。
微處理器/ DSP的介面,如微控制器和 DSP的交換硬體和軟體信息。
微控制器外圍設備,其中包括所有的用戶介面模塊和射頻控制介面模塊。
微控制器的處理器,它打算用來運行計算密集型過程中發生的微控制器。
DSP的外圍設備,這是硬體加速器,為 GSM/ GPRS通道編解碼器。
多媒體子系統,它集成幾種先進加速器,以支持多媒體應用。
語音前端,數據路徑的輸送模擬講話,並以數字講話。
音頻前端,也該數據路徑傳送立體聲音頻立體聲音頻源
基帶前端,數據路徑傳送數字信號和模擬信號的射頻模組。
時序發生器,產生控制信號涉及到的 TDMA幀的時間。
電源,復位和時鍾子系統,管理的權力,復位和時鍾分配等內部 mt6225
⑤ 求畫protel電路圖,包括電源,串口還有JTAG口電路,我這有pdf原圖 ,照著畫,湊合著就可以了
已經畫好了。。。
⑥ 無刷電機的驅動電路一般由哪些電路部分組成
首先得有電源吧:如果你買別人的開關電源那就有幾個電解電容濾波就行了,或者自己設計板上的開關電源;
其次是三相橋式MOS管或者IGBT;
然後可能要加裝L或者LC濾波器;
以上是主電路部分;
控制電路:
1、控制電源,5V、3.3V什麼的;
2、采樣電路:電機的霍爾感測器采樣3個霍爾信號你要把他拿過來,可以選擇用光耦隔離或者是磁藕隔離或者用運放轉換或者其他什麼方式,接到DSP的cap引腳上;電壓、電流信號你要有AD運放電路,包括比例放大、低通濾波之類的;
3、PWM輸出電路:DSP的PWM輸出之後要接上光耦、磁藕隔離等。推薦TI的ISO7220。然後接到MOS管驅動IC上,現在主流的有IR2110\IR2130自己選。這些晶元的外圍電路元件參數選擇是很有講究的,一定要熟讀文檔。
4、DSP和通信:DSP選擇一樣吧,把它的外圍電路元件和參數好好設計一下。包括晶振、JTAG、去耦電容、AD那部分的外接元件。需要找這些的資料PDF,在官網上都有官方出的正式文檔非常權威。通信選232就行了,如果有要求可以搞點USB啥的自己選吧。
5、保護:主迴路上可能要加一個保險絲之類的,可選吧。然後三相橋上的MOS管可能要加點吸收電容。這些都是可選的。如果你要是第一次做,而且只是自己試驗不是做產品賣給別人,這些都可以略去。
⑦ 嵌入式軟體應用方向與計算機應用軟體方向
硬體很重要 但現在趨向軟了 趨勢也是靠軟 以下是一點點經驗 也許可以參考。。。GOOD LUCK~~~~!!!!
一 首先說說ARM的發展
?????? 可以用一片大好來形容,翻開各個公司的網站,招聘裡面嵌入式占據了大半工程師職位。
廣義的嵌入式無非幾種:傳統的什麼51、AVR、PIC稱做嵌入式微控制器;ARM是嵌入式微處理器;DSP;FPGA。
?????? 客觀的講,工作需求量上DSP的需求比ARM要多,而ARM和FPGA差不多。
?????? DSP因為數字處理與通信領域的空前發展而火暴,小到MP3 射象頭,大到我們軍品里的控制器,應用面很廣。
?????? FPGA的兄弟一般做ANSIC(特殊晶元設計,好象是這么翻譯的)。而ARM單純說來並不比一個單片機強多少,但是它的獨特就在於不斷下降的價格和提升的性能。這完全依靠於ARM公司的戰略,厲害!!很佩服他們的戰略眼光!!
?????? 值得注意的是:在找工作中,企業(著名的,小的不算)對單純的ARM硬體開發工程師並不比單片機重視,很少有大企業的職位里寫「從事過ARM開發優先」。寫的多的是什麼?「嵌入式LINUX」到這相信大家看出來了吧,需要的是硬體中的軟體。
二 ARM是硬體還是軟體
?????? 很難說,ARM是硬體,LINUX是軟體。ARM的硬體多半已經模塊化了,像我這樣把板子改成這樣的就算動的多的了,這同樣是ARM公司的戰略,再次佩服。
?????? 實際中的LINUX的開發工作更多,更耗時。從這方面說ARM應該算是軟體了。
?????? 在找工作中更是這樣,舉個例子,聯想里和ARM最接近的是「BIOS工程師」是軟體,MOTO里接近的是嵌入式LINUX工程師是軟體。而其他很多公司把嵌入式產品開發歸為硬體。所以,不要討論這個,好好玩轉自己的板子才是關鍵。實在不爽你就把自己叫「嵌入式開發工程師」
三 要不要買開發板 買哪家
??????
??????? 我的答案是「在你個人的學習方法」,但是如果看家是需要看這騙筆記的水平,個人推薦還是買現成的。
1 買
??????? 買板子可以把注意力集中在軟體開發上,軟體開發(尤其是驅動)可以不必擔心自己硬體上的問題,我就是以便調試一邊寫驅動和程序,每次寫驅動前就要先確認硬體沒問題。另外,買板子更省錢和時間,我自己做的板子,原理圖PCB花了2周以上!製版又15天,回來以後焊接44B0 160個腳!那叫一個麻煩~~花了多少錢呢?2層板,製版費就300塊!當然 我把介面都外引了,還做了個20X18的LCD背板,板子比較大。總體下來 元件+LCD屏+PCB=11XX塊!夠2410的了。
?????? 再有就是買的資料相對來說比較全,但是不要指望有技術支持!都是騙人的,賣你之後就不會理你。
2 做
??????? 自己做可以更了解底層硬體,可以按照自己的要求加東西,比如我就加了GPS模塊、 GPRS模塊 、SD卡模塊,擴了個IIC的35個鍵子的鍵盤、把LCD介面按照買的LCD改裝了,可以用FPC線直接連接。做的很爽的。玩一把嗎。
???????? 當然,你可以有策略的做,比如像我一樣,把RAM和ROM,網路都保持和某現成的板子一樣,這樣他們的資料你就可以拿過來直接用,給自己留個退路。其他的如SD了 什麼的自己做。都達到了~~就是費錢,費時間。
??????? 再有就是給做的朋友幾點建議:盡量拿到現成的板子,盡量多搜集其他板子的全套資料,一定要拿到一張沒問題的原理圖。
???????? 網上流傳的原理圖多數是龔俊03年畫的,再這里對龔俊表達一下我的敬意!!牛人!
但是那個圖有個小BUG,我指的是03版的,後來的沒這問題了。8019那地址線和地址有問題。還有人仿照他的PDF圖畫的SCH,更是漏洞百出!譴責!順便譴責把龔俊板子偷賣的人。
3 買哪家
???? 個人感覺分3類吧
????? 1)首先是ZLG的,資料非常的全,感覺他是真正想教你怎麼開發ARM,而不是像有的公司自己技術都沒做好就做個板子出來賣錢。但是最大的不利就是價格太貴!而且主要是PHILIP的,貨源比較麻煩~~可能有人說21XX系列的不貴啊,那是匯流排不外擴的,只能跑UCOS,不能跑UCLINUX。但是說是話,21XX系列才是ARM7的價格性能結合點。ARM7最適合做工業控制,ARM普及,銷量都是怎麼來的?都是ARM7來的,而44B0是典型的商業片子。但是,這里如果你看中的是為工作做准備,還是選能跑UCLINUX的吧。
但是仍然作為第一個推薦,因為菜鳥時期,合適的資料太重要了!!在這里被ZLG的務實精神感動!你看人家那代碼寫的。
????? 2)感覺立宇泰的44B0不錯
硬體沒別的,就是資料比較全的說,不像有些家,原理圖直接拿人家的,還錯的~~
????? 3)找個最便宜的
好象最便宜的有賣350的吧?也是沒別的,就是即省了錢 還省時間搜集資料,至於資料全不全,別計較了~~硬體肯定好使就行吧。
四 要不要有51 AVR等單片機基礎
???????? 有更好,但沒有也無所謂。
??????? 兩個月以前,我只是看別人做,耳濡目染~~,本科學過單片機,從來沒做過。我們這的技術主幹做AVR和51,我就跟他們調過C語言程序。你看出來了?我是個不折不扣的菜鳥吧?
但是做這個之前我特意找了ZLG的兩本書,看了裡面的例子和原理圖,這很重要。常式里有匯編有C,都看懂了就OK,不用自己現寫
五 開發都需要學習哪些軟體
總結起來最主要的有以下幾個吧
1 ADS調試用
確切的說是ADS+AXD。ADS里包含AXD。原來都用SDT後來ARM公司停止對SDT支持了,改支持ADS了,還是用ADS吧。
有的人的程序發布的仍然是SDT版本的,但基本都可以找到相應ADS的,新人在這里不要發蒙。ADS是編譯器,AXD是調試器。便宜成AXF以後再在ARM的RAM里調試。
2 PLASHPGM
FLASH燒寫的軟體。AXD在RAM里調試,掉電就沒有了,方便程序修改。調試好的程序再下到FLASH里,上電直接運行。
同類的軟體還有很多,什麼FLUTED了、FLSHP了都是,但FLASHPGM最好,要是有人還問FLASH不支持BIN格式文件的問題就要看我寫的PLASHPGM使用了。
3 BANYANT調試代理(不知道名對不,起這么個難記的,我一般都叫它「半羊」因為知道它那幾天剛吃了烤羊)
調試代理就是用它幫你使用更簡單的JTAG(便宜啊)來實現原本1K才賣的JTAG模擬器的大部分功能。JTAG調試原理看我另一篇筆記。簡單的就可以把他理解為你自己做的JTAG的驅動就行了。
調試代理還有很多種,什麼H-JTAG了、ARM7了(不知道具體叫什麼,就記得可執行文件叫ARM7.EXE)都是,BANYANT比較好。
需要注意的是,沒種調試代理安裝方法雖然都簡單 但都不一樣,需要看說明。而且AXD調試之前都要運行。省錢了,就別怕麻煩了。
4 ARM-ELF-TOOLS工具鏈
裡面是UCLINUX開發用的工具比如ARM-ELF-GCC只類的。工具鏈就是把很多工具打包在一起發布的方便你開發的東西。具體安裝方法看我另一篇筆記。
另外如果你開發LINUX就要用ARM-LINUX-TOOLS,不一樣,不通用。
5 U-BOOT
大名鼎鼎的BOOTLOADER生成工具,同類的好象還有VIVI(名字很曖昧~~)
生成的BOOTLOADER燒到FLASH里,然後就可以用BOOTLOADER下載 燒寫其他了
有了BOOTLOADER才能下UCLINUX。BOOTLOADER就像電腦上的BIOS。當然UCOS的不用這個,用什麼我不知道:)
最新版本是1.1.4 具體使用方法看我另一篇筆記吧。
6 UCLINUX包
UCLINUX的源碼包,不用多說了吧?建議大家用現成的先體會一下,然後再自己編譯,裁剪。因為單獨UCLINUX的編輯技術上比較簡單,但涉及的方面還是比較廣的。
7 VMWARE
老牌的虛擬機軟體,在一個機器上虛擬出一個機器裝LINUX(PC上用的),省得你來回開關機了。記得裝VMWARE-TOOLS,安裝方法在我另一篇筆記里。
六 有哪些書推薦
?????? 主要推薦ZLG的三本書,有這3本再加網路就不用別的書了,其中主要推薦前2本,3是介紹體系結構的,也不錯
1 ARM嵌入式LINUX系統構建與驅動開發,北航版
驅動寫的很詳細,前期開發介紹也很好
2 ARM 嵌入式系統實驗教程(二),北航版
有ZLG2200的原理圖,實驗程序和注釋,了解人家是怎麼開發的。
3 ARM嵌入式系統基礎教程
最重要的是體系結構,匯編部分介紹,看看吧,增加理論素質。
4 44B0數據手冊
寫在這里是強調它的重要。
不推薦ZLG早期出的紅色皮的ARM什麼體系結構~只類的
寫的太多,看煩了。
其他的書沒了幾本,沒看見好的,大家有看過的推薦吧。
七 選UCOS?UCLINUX?LINUX?VXWORKS?還是當單片機用
????? 1 搞開發,工程設計,用UCOS,小巧,多進程,簡單,體現了ARM7的精髓。
????? 2 LINUX 正根的嵌入式系統,LINUX消費與通信領域用的比較多,但缺點是必須ARM9才能跑,ARM9的板子自己做就不行了,6層板太貴。買開發板1K達底吧。但是還是推薦選ARM9+LINUX
????? 3 UCLINUX 算投機嵌入式系統:)ARM7上可以跑,由有LINUX近親,學好好可以比較方便的轉向LINUX,像我一樣的窮鬼用吧,呵呵
????? 4 VXWORKS
學好後可以找到高薪工作,但工作機會本身並不比LINUX好找。
???? 5 當單片機用
不推薦,雖然我景仰的ZLG一直號召這么干。因為對於學習來說多進程的系統設計才是ARM7的玩頭,至少你也要整個UCOS啊:)
有朋友問我先學這個當基礎不行嗎?那當然可以~~但我當時就用了1周搞定,就是我先的ADS在RAM中調試的筆記。後來我清空FLASH用的小段程序還是當時寫的LED閃爍程序呢。另外1周里其中還因為自己過於菜,沒把OM設置好導致晶陣不陣
哈哈。這個是必須做的,但一帶而過。目標放的遠一點。
八 學習要用多長時間
??????? 我從菜鳥到現在兩個多月,中間被打擾數次。仍然搞定了PCB設計與製版,RAM調試,FLASH下載,UBOOT移植和下載UCLINUX(沒剪裁,用現成的),LCD驅動。
再次坦誠的說:我確實比較菜,說這些不是讓大家羨慕,只是告訴你們「你們應該比這個更好」
我相信良好的態度+合適的方法+及時的總結=成績
九 ARM都玩什麼
就幾點
1 硬體設計
2 系統移植
3 驅動開發
4 應用開發
沒了。其中推薦把注意力放在後兩個上,3有難度,4比較靈活,最重要的是都是找工作的砝碼。
十 我用的什麼板子
很多人問我這個問題,我特意寫過一個的。再說一次吧。
我是自己做的,RAM、ROM、8019等比較麻煩而當時的自己不理解的都按照龔俊的做的。保持其他不便的情況下做了如下改動。
1 加了串口通信的GPS模塊、 GPRS模塊
一個UART0,一個UART1,當與要用超級終端時用跳線切換。
2 SD卡,和7843觸摸屏
同時掛在SPI匯流排上,因為SPI只能掛一個設備,同時還做了I/O模擬的准備,把兩個設備又通過跳線掛在4個IO上。
3 擴了個IIC的35個鍵子的鍵盤
用的ZLG的7290,不佔用CPU,最大支持64個鍵子,只上了35個,其他留介面。
4 把LCD介面按照買的LCD改裝了,可以用FPC線直接連接。
所以改動雖然多,但真正很移植了,初期調試有關的並沒動,就是為了現在不那麼菜的時候做准備:)
十一 開發流程
這里是我的開發流程
1 設計原理圖(含WIGGLER的JTAG訪真器)
2 設計PCB(含WIGGLER的JTAG訪真器)
3 製版
4 焊接電壓,確定電壓沒問題
5 焊接44B0+JTAG電路+WIGGLER的JTAG訪真器+周邊電路,用BANYANT+模擬器連接,BANYANT提示錯誤,但可以顯示44B0編號,好象是0X0F0F0F0F只類的,說明44B0沒問題
6 焊接晶體+RAM+ROM+周邊電路,用BANYANT+模擬器連接,可以顯示正確的44B0了
7 用BANYANT+模擬器連接,開AXD,在命令行窗口操作RAM,看可不可以修改,可以的話(用內存窗口看RAM地址)RAM就沒問題
可以用這個命令「setmem 0xc000000,0xffffffff,32」
我的RAM掛在BANK6上 所以地址是0XC000000,你要是改了就也得改。
8 用我寫的《自己寫了個C工程模板又寫了個使用說明 》里的方法調試程序吧,寫個簡單的,我當時寫個LED閃爍的。看好使不。
9 把程序按照《FLASH燒寫總結 》里的燒到FLASH里,測試一下
10 按照《UBOOT 移植操作》移植UBOOT
11 按照《UCLINUX下載簡單說明》下個UCLINUX
12 看看驅動開發的方法,自己寫個驅動看看
13 還有很多事東西著你玩 呵呵
十二 關於JTAG訪真器
JTAG訪真器現在用的多是簡板的,一個244那種,用的沒什麼不好。
按照並口定義不同分幾種,建議選WIFFLER定義的,因為支持的軟體多。這個網上多的是,不多說了。
值得提的是有的JTAG訪真器原理圖上有跳線用來使能復位信號,這個一般不跳上。就是不用復位信號,因為JTAG協議里本身也可以控制44B0復位。
當然,板子上的復位信號跳線也不用跳。
十三 哪個公司的ARM
這個是問題比較簡單。
1 ARM7主要就幾個公司的
三星,PHILIP,ATMEL的
ATMEL的有比較便宜的AT91SAM7S32 和AT91SAM7S64 專為8位應用產品量身定做,價格很便宜好象《3刀吧。和PHILIP的21XX差不多,資料太少,項目中選還不錯。
其他兩家上面說了的不多說了吧
2 ARM9
這個玩2410和2440的多吧,現在2440還比較火啊 可以考慮買個了
但是2410就比較便宜了,作為學習來說反到和不錯,推薦整一個:)
其實ARM9用的最多的領域應該是消費電子,比如手機PDA,而這上面用的多的應該是INTEL的和TI的吧。
但是INTEL的TI的入門材料少,價格高,自己看情況定吧。
⑧ 集成電路晶元的編碼是怎樣規定的
拿到一些晶元,上面寫著74lvth245a、tms320f2812pgf、74hc08、rtl8201bl、ds1302、ref198等等。這些編碼是如何規定的?有什麼規律?能否看到這些編碼大概知道它是個什麼性能的電路?我們在protel里元件庫中如何快速找到自己想要的晶元?
你說的這些晶元都是很常用的單片機及其外圍晶元,如果你有相關經驗很容易知道,比如第一個是個邏輯晶元,74是數字邏輯晶元的一個族,區別於54系列,後面那個lv表示低電壓low-vol,可能工作在3.3v的電壓下,第二個是ti出的dsp(數字信號處理器),tms320是ti起的名字,在公司的系列產品中有自己的意義,f表示用的是flash存儲,2812是其代碼,還有2407,5402等等,後面是封裝參數。後面那幾個晶元有基本邏輯和時鍾晶元等,這里不再贅述,你上網查這些晶元的pdf全有,不過大多是英文的。
回答你後面的問題:這些編碼有的是行業里的規定,比如74ls,74hc,54..基本的晶元,也有是公司自己起的名字,比如tms320f2812等,要說規律很簡單,你有過設計經驗,用過一些片子就知道的差不多了,要速成可以去看嵌入式硬體設計的書。
protel里找自己的晶元可不容易,你在搜索器件里找一下就可以了,事實上,用protel的老手,全部是用自己畫的器件,以免在具體設計時出現這樣或那樣的偏差。
別學protel了,學那個altiumDesigner吧,他們公司新出的最新版,容易上手功能強大。
⑨ 16位單片機的管腳圖是什麼樣的!
msp430是一個系列,就像平常中人們說的51單片機一樣,並不是一個型號。
msp430的網路:
http://ke..com/view/215429.html?wtp=tt
在這里我跟你說說51與430的區別吧。
msp430系列單片機是一種新型的16位單片機,主要特點就是功耗小,速度快,主要開發語言是c。開發環境有iar集成開發環境。
msp430單片機有不同系列,有f系列,c系列。比如f系列msp40f135表示的是rom是flash型的。常用的是f系列的13系列14系列。13系列的有msp430f133和msp430f135兩種。14系列的有msp430f149等。
我用的是msp430f135推薦你用msp430f149,msp4301f149有60KB的flash和2KB的ram。比起51的算是很大了。
c51單片機現在很少用了,都被s52單片機代替了。
51單片機和430單片機的主要區別是51是8位的,430是16位的。開發環境都有相應的c開發環境。
學習430單片機有了51的基礎應該很容易入門,我是一開始就是接觸430單片機,後來才接觸51的,覺得430的不錯,特別是功耗和速度方面。如果你想跑操作系統的話就買現在ti公司的新系列的單片機,ram有10k。
89C51單片機是8位單片機。其指令是採用的被稱為「CISC」的復雜指令集,共具有111條指令。而MSP430單片機是16位的單片機,採用了精簡指令集(RISC)結構,只有簡潔的27條指令,大量的指令則是模擬指令,眾多的寄存器以及片內數據存儲器都可參加多種運算。這些內核指令均為單周期指令,功能強,運行的速度快。
其次,89C51單片機本身的電源電壓是5伏,有兩種低功耗方式:待機方式和掉電方式。正常情況下消耗的電流為24mA,在掉電狀態下,其耗電電流仍為3mA;即使在掉電方式下,電源電壓可以下降到2V,但是為了保存內部RAM中的數據,還需要提供約50uA的電流。而MSP430系列單片機在低功耗方面的優越之處,則是89C51系列不可比擬的。正因為如此,MSP430更適合應用於使用電池供電的儀器、儀表類產品中。
再者,89C51系列單片機由於其內部匯流排是8位的,其內部功能模塊基本上都是8位的雖然經過各種努力其內部功能模塊有了顯著增加,但是受其結構本身的限制很大,尤其模擬功能部件的增加更顯困難。MSP430系列其基本架構是16位的,同時在其內部的數據匯流排經過轉換還存在8位的匯流排,在加上本身就是混合型的結構,因而對它這樣的開放型的架構來說,無論擴展8位的功能模塊,還是16位的功能模塊,即使擴展模/數轉換或數/模轉換這類的功能模塊也是很方便的。這也就是為什麼MSP430系列產品和其中功能部件迅速增加的原因。
最後,就是在開發工具上面。對於89C51來說,由於它是最早進入中國的單片機,人們對它在熟悉不過了,再加上我國各方人士的努力,創造了不少適合我們使用的開發工具。但是如何實現在線編程還是一個很大的問題。對於MSP430系列而言,由於引進了Flash型程序存儲器和JTAG技術,不僅使開發工具變得簡便,而且價格也相對低廉,並且還可以實現在線編程
⑩ 怎麼向arm9開發板下載程序
如果你手上有開發板,你就應該不會問這些很容易的問題,因為你自己可以解決。
分兩種情況:
1 開發板上有uboot,最簡單的方法是通過tftp從網路下載到flash中,在PC端搞個tftp伺服器,網路直接連接開發板;運行tftp addr file.bin
2 如果是裸板,通過模擬器下載