104學習精靈

全部 課程 貼文 教室 證照 影片
ARM相關的課程 (6)
從工作推薦課程
MCU韌體設計
對於想要快速上手MCU的學習者,此課程使用WengPic實驗板內建函式,讓你可以快速上手!對於有專題設計的需求者,此MCU課程提供明確乾淨的單元規劃,以及良好範例程式參考。這門MCU課程也適合有驅動程式設計需求的學員,課程會帶你看懂Datasheet,去整理、定義嵌入式程式設計技巧。 學習目標 1.熟悉微控制器一般常用I/O控制與電路設計,如Timer、PWM、ADC、LCD、RTC等 2.熟悉微控制器常用通訊模組,如RS232、I2C、SPI等 3.依原廠Datasheet的說明,從波形與時序關係,逐行引領學員完成驅動 章節架構 Part1-Weng PIC函式庫介紹&開發環境建立 ► Weng PIC函式庫介紹 & 開發環境建立 ► Weng pic開發模組 ► 套件包資料夾介紹 ► MPLAB操作說明 ► 軟體更新操作 ► 燒錄操作 ► LCD函式庫練習 ► button函式庫練習 ► 電位器函式庫練習 ► 繼電器函式庫練習 ► 2.4G RF函式庫練習 Part2-GPIO控制 ► GPIO電路的基本需求 ► PIC18IO埠 ► PIC18F46J50_DataSheet Part3-Button視覺化及狀態圖 ► 視覺化思考與狀態圖 ► 狀態關聯的循環圖 ► 狀態+數位訊號>反應 ► 訊號分析 ► 狀態圖轉換成C語言 ► button實作01 ► 增加歸零功能及其分析 ► 增加連按兩下功能及其狀態分析 Part4-LCD實驗 ► 記憶體配置 ► LCD控制器 ► LCD接腳關係 ► 4位元轉換範例 ► Datasheet_HD44780U ► LCD實作 ► LCD_print位置控制 Part5-ADC實驗 ► 10bit_AD轉換 ► IC內部訊號時序圖 ► AD模組操作 ► 規劃AD模組及使用 ► AD模組操作順序步驟 ► ADC實作 Part6-中斷控制實驗 ► 中斷程式 ► 中斷功能 ► CCP之Compare模式 ► interrupt實作 Part7-Capture:紅外線接收器解碼 ► 紅外線接收模組 ► Capture mode設定 ► 紅外線接收訊號 ► 紅外線功能實作 Part8-PWM調節與控制 ► CCP之PWM模式 ► 頻率與工作週期關係 ► 晶片運作說明 ► CCP暫存器 ► 設定PWM模式與規劃 ► 複製專案的方法 ► PWM練習 Part9-UART與PC端 ► 非同步串列傳輸 ► EUSART傳送方塊圖 ► EUSART接收方塊圖 ► 鮑率計算 ► 非同步傳輸時序圖 ► 傳送接收處理 ► UART傳送_練習 Part10-I2C EEPROM操作 ► I2C控制碼 ► I2C接腳定義 ► I2C練習 ► EEPRO資料寫入操作 ► EEPRO資料讀取操作 Part11-PC端C#圖控介面實作 ► WinMerge軟體操作 ► 除錯訊息_條件式 ► C#開啟UART ► C#圖控介面實作 Part12-SPI控制CC2500 RF無線通訊 ► CC2500驅動程式設計 ► CC2500暫存器 ► CC2500_strobe練習 ► 設定CC2500發射功率 ► CC2500狀態機 ► 封包傳送 ► 封包接收 ► 封包切換傳送與接收 ► 主程式總整理
艾鍗學院
FPGA數位IC設計實戰
學程概要 AI人工智慧的機器學習與深度學習、5G傳輸速度提升到10Gbps、無人駕駛汽車要求網路延遲時間小於1ms,這些都已無法再仰賴CPU計算來達成了... 與此同時,為了彌補雲端運算上頻寬、延遲、儲存、資安等侷限,邊緣運算應運而生,終端裝置被賦予了執行運算的能力,AI讓硬體的重要性再次被看見! 為了實現更高的運算效能與功耗性能、更低的延遲、更高的安全性,以及用更短的開發週期, FPGA 扮演著關鍵性的角色! 艾鍗學院特別邀請具有16年以上FPGA開發經驗的資深工程師,精心規劃「FPGA數位IC設計實戰」課程。本課程著重於實作訓練,使用Intel(Altera) FPGA SoC 實驗平台進行主題式的單元實驗。 課程分成三個階段,第一階段說明FPGA設計架構、Verilog語法、並行運算處理與有限狀態機設計TestBench及功能。第二階段實作FPGA I/O訊號處理與一般序列通訊設計,包含UART、SPI、I2C,以及訊號時序分析與模擬等。此外,為因應5G物聯網趨勢,我們獨家安排了一個FPGA專題製作,說明Gigabit Ethernet 的MII 界面與如何設計Gigabit Ethernet Switch。 第三階段將說明如何設計一個基於硬核ARM Cortex-A的SoC FPGA的嵌入式系統晶片的解決方案。課程包含SoC FPGA晶片硬體設計,利用Intel Qsys整合軟體設計SoC system、在SoC上讀取/控制FPGA上的IP,並教你如何編寫Driver建構出基本的SoC FPGA嵌入式系統軟體。 Why SoC FPGA? 為什麼要選用SoC FPGA?現今,嵌入式系統晶片開發人員必須應對激烈的市場挑戰,被要求更高的單位功耗性能/運算效能、更低的時延以及更短的開發週期,以滿足各種市場需求,因此基於FPGA的SoC已成為最流行且可能的解決方案。簡單來說,SoC FPGA架構在FPGA可程式邏輯晶片嵌入了一個「硬核」處理器系統-- SoC(包含ARM處理器、記憶體控制器、I/O週邊)。在SoC FPGA 架構下,可以彈性的設計,單純使用ARM SoC、僅使用FPGA或兩者結合使用。當兩者結合使用時,FPGA可以作為ARM週邊的角色,針對大量且須經複雜運算的資料,如數據資料、影像訊號、聲音訊號等,可利用FPGA 硬體並行運算能力設計演算法追求最佳效能。因此,利用SoC FPGA 架構所設計的嵌入式平台,不僅可以突顯產品優勢,在價格和性能方面都可以達到最優水平,更重要的是產品能夠及時上市,搶先一步拿下市場與客戶。 學習目標 1、能夠寫出語意精準的Verilog程式與好用的testbench。 2、以業界的角度實作訓練,養成數位電路設計與數位訊號處理能力。 3、了解如何使用 Intel® Quartus® Prime Lite Edition 進行 intel Cyclone V FPGA 設計。 4、能夠掌握Debug技巧,活用Debug Tool,讓Debug更加快速有效率。 5、使具備Gigabit Ethernet MAC與PHY網路通訊界面處理的能力,進而能夠用FPGA實現一個Ethernet Frame。 6、了解 Intel® SoC FPGA Embedded Development Suite(SoC EDS)設計流程並利用 Linux Driver 來控制自行設計的 IP。 7、掌握基於ARM的SoC FPGA硬核解決方案,能夠運用工具做IP整合與系統驗證,設計你的SoC FPGA晶片。 章節架構 第一階段 Verilog硬體描述語言 ● FPGA 技術簡介 - FPGA 硬體架構 - CPLD vs.FPGA - 晶片功能與技術規格解讀 ● Intel Cyclone V FPGA 晶片介紹 ● Intel SoC FPGA 解決方案 ● Intel Quartus Prime FPGA設計工具使用 (1) - 軟體安裝 - 建立新專案 - 編譯 & 合成 ● HDL硬體描述語言(部份講義預覽) - Verilog 基本程式結構與語法說明 - 組合邏輯設計 - 同步邏輯設計 - 訊號取樣設計 - Cock dividing - 模組化設計方式與參數傳遞 - Timing constraint 時序限制 - FSM 有限狀態機設計 ● Verilog 應用練習-Digital Counter 第二階段 FPGA 晶片設計實作 ● DE10-Nano Kit開發板介紹 ● Intel Quartus Prime FPGA 設計工具使用 (2) - Pin Assignment - 加入 Intel's IP 使用MegaWizard (PLL, RAM, ROM,FIFO, …) - 燒錄code ● 設計除錯:使用SignalTap II Logic Analyzer ● 設計除錯:使用SignalProbe ● 設計除錯:訊號時序分析TimeQuest Timing Analyzer&SDC (Synopsis Design Constraints) ● 設計除錯:使用 ModelSim模擬 ● IP實作及UART通訊實驗 ● IP實作及SPI通訊實驗 ● IP實作及I2C通訊實驗 ● Intel Avalon Bus Interface Protocol ● Gigabit Ethernet 專題製作 -整合Ethernet MAC( Medium Access Controller) - 連接Gigabit PYH的 MII 界面說明 - Lab: 設計FPGA電路,控制MII 產生Ethernet Frame - Lab: 透過FPGA電路,控制MII 側錄Ethernet Frame
艾鍗學院
MCU應用設計
課程特色 隨著32Bits MCU使用方便與平價化,近年來已成為MCU市場的主流。ARM Cortex M系列為高效能、低功耗且低成本的微處理器,而M0屬於M系列家中族中更小且更為省電,並與ARM7是同等性能,但其規模不到ARM7的一半,價格也比8051便宜許多,因此電子等相關業界使用Cortex M0系列來取代8051微控制器的主力產品。 對於希望進入MCU領域的技術人員來說,採用ARM Cortex M0來入門是個不錯的選擇。本課程將藉由新唐推出的 NUC130S(ARM Cortex M0)微控制器來介紹嵌入式系統的架構、介面與程式開發流程。NUC130S為新唐科技所研發的新一代32位微控制器,其以ARM公司低功耗、低門數以及具精簡指令特性的Cortex™-M0微處理器為核心,可以提供高效能的32位元運算處理能力並擁有與傳統8位元產品之相同價格,適合於廣泛的微控制器應用領域,例如:工業控制、工業自動化、消費類產品、網路設備、能源電力與馬達控制等。 學習目標 了解核心Cortex-M0架構與硬體電路,並藉由KEIL C語言開發,學習開發GPIO、計時器、ADC及各項串列界面(UART、SPI及I2C)實作。課程引導式入門,並著重範例程式與硬體互動,以教學與實習並進方式,介紹NUC130S之系統架構與介面,並學習以C語言開發相關介面應用程式。 課程大綱 ● ARM Cortex-M0 MCU介紹 ● MDK開發工具 安裝 ● JTAG程式燒錄與 Debug啓用 ● GPIO (LED、HC-SR04 超音波測距) ● NVIC 中斷向量表與ISR ● Clock 控制器 ● Timer介面實作 ● Watchdog介面實作 ● UART與藍牙模組介面實作 ● Android 藍牙應用程式實作(使用App Inventor 2) ● I2C 介面與 OLED顯示設計 ● I2C 介面與MPU6050(3 軸加速規與3軸陀螺儀) ● ADC 介面與光敏/熱敏感測實作 ● PWM 介面與伺服馬達控制實作 ● 步進馬達控制實作 ● SPI 介面與2.4G RF無線射頻應用
艾鍗學院
SOC FPGA嵌入式實戰
SoC FPGA整合了FPGA架構與處理器至單一裝置,帶來了多面相優勢。不僅有完善的IP可供使用,加速產品開發時程,SoC FPGA同時擁有FPGA的可編程性和嵌入式處理器的計算能力,適用於嵌入式系統、通信系統等廣泛應用,提供了更多選擇和靈活性。此外,SoC FPGA節省了空間和功耗,整合了獨立配置所需的處理器和FPGA硬體,有助於更有效地管理資源。SoC FPGA的發展反映了多核心、異構運算的趨勢,能夠滿足IoT、高速網路、AI硬體加速等應用的需求,提供高效的運算能力。 課程引導學員養成系統的概念,可由現成的IP中,組合出符合規格要求的產品;驅動程式。 課程目標 1. 了解 Intel® SoC FPGA Embedded Development Suite(SoC EDS)設計流程並利用 Linux Driver 來控制自行設計的 IP。 2. 掌握開發Linux驅動程式設計需要的知識,能分析程式碼,進而修改程式碼,了解驅動程式形成的每個細節。 3. 在SoC上讀取/控制FPGA上的IP,並知道如何編寫Driver建構出基本的SoC FPGA嵌入式系統軟體。 階段一 : SoC FPGA 嵌入式系統晶片開發 ➢SoC FPGA - 嵌入式系統晶片開發實務 ★ 硬體設計- 設計你的 SoC FPGA 晶片 1. Intel Cyclone V SoC FPGA 簡介 2. Intel Avalon Bus Interface Protocol 介紹 3. 利用 Platform Designer 軟體整合 Embedded Peripherals IP 來設計系統電路 4. 利用 Intel Qsys 整合軟體設計 SoC system 5. LAB:使用 Platform Designer 整合 GPIO design 至 FPGA,並利用 System Console 做系統驗證 ★ 將自行設計的 IP 利用 Platform Designer 整合至 Intel SoC FPGA,並和 Linux Driver 結合,再利用 Linux APP 做控制 1. LAB: GPIO Driver 控制 SoC FPGA 開發板上的 LED 階段二 : Linux驅動程式設計 1. 字元裝置Driver 2. Linux Misc Device 3. Linux GPIO 驅動程式 for LED, Button,Relay 4. Raspberry Pi 3 功能說明與BCM283x 使用說明 5. Pi 擴充卡硬體功能介紹與電路圖接腳說明 6. Linux 中斷註冊 & 中斷控制器HAL層架構 7. Bottom Halves (Tasklet & Work Queue) 8. 進階字元Driver : 1) Non- blocking I/O : 使用Wait Queue & completion 機制 2) kernel 對UserSpace通知: SIGIO 信號非同步通知,call_usermodehelper() 9. Kernel Timer List (Jiffies, timer ticks) for LED 閃爍 10. Linux Serial port 驅動程式 for Bluetooth 模組 11. Linux Platform Device & Platform Driver 架構 12. Linux Device Tree 13. Linux SPI Client驅動程式 for ADC Driver (MCP3008) 14. Linux IIO Driver(Linux Industrial I/O Subsystem) 15. Linux SPI Bus master 驅動程式 for BCM2835 SPI controller 16. Linux I2C Client驅動程式 for EEPROM 17. Linux I2C Bus master驅動程式 for BCM2835 I2C controller 18. Linux User Space Driver
艾鍗學院
USB韌體設計
如果您設計的應用必須和PC連接,您能用的界面就是USB。 然而USB架構有一定的複雜程度,而且和PC連接又會涉及到PC端作業系統的問題,所以對於大部份的工程師而言,要進入到USB設計領域,通常是不得其門而入,而望之興嘆。為了讓您快速解惑USB惱人的工程問題,本課程邀請從事USB韌體開發15年經驗的資深工程師,以實戰結果導向的教學方式,讓您以10倍速學習速度,快速切入USB設計領域。本課程會先對USB架構做個簡介,接著再介紹相關的資料封包、協定、和USB request等。講師將帶入如何實作4個USB類別,包含HID、CDC-ACM、MSC、Audio等。課程也包含USB Audio Class且展示如何利用USB Audio specific request來控制USB Audio device。 課程將帶你深入了解USB控制與USB韌體實作,不論是想了解USB Protocol、想開發USB相關產品,如果你設計的應用必須和PC連接,你都會非常需要這門課。帶你了解USB控制原理與USB協定,教你最常用到的USB設計,包含USB HID、USB CDC、USB Audio及USB MSC類別,並使用HID Class讓USB和PC端能雙向通訊。像目前很夯的USB PD(USB Power Delivery)技術,你也會更容易切入。 學習目標 1.熟悉USB運作原理與設計USB HID class、USB Audio Class、USB CDC class、USB MSC class,並使用HID Class 讓USB和PC端能雙向通訊。 2. 能了解如何利用USB分析儀進行USB Debug工作。 課程特色 ▪ 課程採用艾鍗獨家研發的ARM MCU Board開發板!更多詳情 ▪ 業界唯一上課使用USB Protocol Analyzer儀器。 ▪ 業界講師從事韌體設計20多年,並具備15年USB韌體設計及Linux驅動程式設計開發經驗。真正產業出發,業界專家手把手教學! 課程大綱 Part I Fundamentals of USB 1. Introduction to USB Architecture 2. Other related USB Terms(ULPI,HSIC,OTG … ) 3. USB Data Flow Type and Communication protocol 4. USB Device Enumeration 5. Windows INF Files 6. USB Classes ● USB Audio (USB Speaker) ● USB CDC-ACM (USB-UART) ● USB CDC-ECM (USB Ethernet Adapter) ● USB HID (Mouse , Keyboard , Consumer device) ● USB Mass Storage ● USB Bluetooth Part II USB韌體實作(點我看Lab實作) 1.Windows INF 實作練習 2.USB Device Enumeration練習 3.USB Audio練習 ● USB Audio 封包說明 ● 如何控制USB Audio (Mute , Volume Up/Down) 4.USB HID class 實作 ● HID Class 封包說明 ● 實作Mouse相關功能 ● 實作Keyboard相關功能 ● 實作HID Data Transfer功能 ● 實作HID Consumer Device功能 ● 實作如何wakeup PC功能 5. USB CDC class 實作 ● CDC Class 封包說明 ● 實作USB轉UART相關功能 6. USB MSC class 實作 ● Mass Storage Class 封包說明 ● 了解MSC SCSI command , 存取MSC device 7. Bluetooth over USB ● Bluetooth HCI (Host Controller Interface) 控制說明 ● 透過HCI來控制Bluetooth Module
艾鍗學院
ARM Boot loader
本課程將透過ARM開發工具模擬器操作,以實際瞭解ARM核心的指令集、記憶體處理器(MMU)、中斷處理等。課程使用開源硬體平台Raspberry Pi實作一個ARM BootLoader,從中你可以了解從最底層的ARM Assembly到C main函式所發生的每一件事。實作中也以bare-metal (Non-OS)方式驅動如,GPIO、UART、TIMER等I/O,另也以實際code說明Raspberry Pi的SoC晶片(BCM2835/BC2836)中,ARM CPU如何和GPU通訊。最後,有鑑於學員在實際工作上所使用的開發工具大多為開發套件外,最後將講習如何將程式轉換為GNU工具可使用的原始碼。<<對於想要從無到有開發一套ARM-based作業系統,本課程絕對是一個OS開發者的前哨站>> 藉由Bare Metal 開發, 我們可以學到: 1.ARM 的CPU架構及組合語言 2.ARM Exception Vector Table & ARM例外處理 3.Boot From Where ? CPU initialize & DRAM controller initialize 4.How to write Startup Code ? 如何撰寫Linker Script 5.SoC 中斷控制器 & ISR (Interrupt Service Routine) 6.在沒有OS情況下要如何撰寫程式, 包含Application或 Chip Driver 7.CPU和GPU如何通訊? 適合對象 1.對ARM架構和其底層系統程式開發有興趣者。 2.想從事ARM BSP development、ARM Bootloader/BIOS programming、研發相關工作者。 3.須具C程式設計基礎。 章節架構: ► 1.SoC基本架構 ► 2.ARM處理器架構 ► 3.ARM組合語言 ► 4.Thumb mode ► 5.ARM 標準程序呼叫 ► 6.ARM Exception handling /例外中斷處理 ► 7.Memory Barrier & Coprocessor ► 8.系統程式-Linker & startup code ► 9.Bare-metal Development using Raspberry Pi 3 ● 認識Broadcom BCM283x SoC ● Raspberry Pi 3開機流程 ● 實作 GPIO 驅動-LED、 Button ● 實作BCM2835 中斷控制器 ● 實作System Timer 中斷 ● 實作GPIO中斷 ● 實作UART ► 10.GPU 與ARM間的溝通 ● 用Mailbox 界面實作Framebuffer
艾鍗學院