新聞中心

EEPW首頁 > 嵌入式系統 > 設計應用 > FPGA的快速入門經驗談(part1)

FPGA的快速入門經驗談(part1)

作者: 時間:2017-10-13 來源:網絡 收藏

有很多年輕人,被割裂了歷史,被荒廢了未來,迷茫, 迷茫到幾乎絕望,不過,他們還年輕,青春尚存,還有創(chuàng)造力,還有奮斗的資本,其中不乏不甘心被拋棄,被覆蓋之人。他們還在努力,希望把自己未來的主動權更多地掌握在自己手上學習和創(chuàng)造是一條和平的成功之路,但是,學什么,怎么學,怎么用,何處用 ?
有一個領域,很多人,特別是曾學習過的年輕人很感興趣這就是芯片的開發(fā)應用,但面對技術所涉及的繁雜技術,大家普遍又感覺到學起來很難,無從下手,無從突破,前景不明,缺乏信心,本帖針對的快速入門學習,介紹了一種方法:“柏氏”7步FPGA快速入門學習法,供大家參考。

本文引用地址:http://butianyuan.cn/article/201710/365679.htm

“柏氏”學習法要達到兩個主要目的:

1. 讓初學者輕松、快速地入門
2. 與學習者探討FPGA相關的應用和市場前景
為實現第一個目的,我們將采用“打穿插”的學習技巧,為實現第二個目的,我們與學習者漫談又哪些可以搶先占領的行業(yè)“制高點”。

“柏氏”7步FPGA快速入門學習法共分7部分

第一到第四部分為“穿插式”入門學習部分,是為了讓初學者以最短的時間實現知識、概念和心理的快速入門。這4個部分,對于FPGA和的學習都適用。
第五部分至第七部分是“沙盤談兵”式的介紹,告訴學員FPGA的特有技術優(yōu)勢、實現技巧和市場前景。
這七個部分分別是:
第一部分:了解下載線和JTAG
第二部分:制作最簡易的開發(fā)板
第三部分:最偷懶的編程
第四部分:檢驗入門成果
第五部分:SOPC及實現技巧
第六部分:專業(yè)產品的開發(fā)
第七部分:個人奮斗 — 特定IP的開發(fā)
(上部: 入門篇)
FPGA入門學習網絡講座: “柏氏”7步FPGA快速入門學習法
第一部分:了解下載線與JTAG
很多人覺著學習FPGA或單片機很困難,為什么?內容太多,頭緒太亂!
我們第一步的任務就是:分解和簡化問題。無論是FPGA還是單片機的開發(fā),都要涉及到三個部分組成:開發(fā)平臺(計算機),下載線, 開發(fā)板(學習板)
其中
1.開發(fā)平臺在開發(fā)初期并不需要下載線和開發(fā)板的支持就能立運行。
2.下載線只是在目標代碼下載或運行調試時才用到
3.開發(fā)板在下載完畢后自己能夠獨立運行
根據以上特點,我們采用各個擊破的策略去學習和分析這幾個部分。
首先是最簡單的下載線部分。
每個廠家的開發(fā)模式都是類似的,都有一條下載線(有些還聲稱帶調試功能),在外觀上,這些下載線很類似,事實上,它們采用的技術也確實是一樣的,都是 JTAG接口。各個廠家下載線之間的區(qū)別,主要是接線位置和順序上有所不同。
JTAG(Joint Test AcTIon Group)
從字面上就可以看出來,這個接口本來是為了方便電路板芯片之間的連接測試而搞的一套標準,現在卻被廣泛地用來做下載線接口。當然,電子產品的自動自我檢測設計也將會是一個非常巨大的市場,我們這里先不討論。
下載線,一般都采用10芯或14芯電纜和相應的插頭(也有5芯接頭),實際上,除了電源線和地線外,JTAG有四根有效信號線:這4個信號線是: TCK,TMS,TDI和TDO,其中
TCK是時鐘線,為其它信號線提供操作節(jié)拍信號
TMS是狀態(tài)控制線,通過這條線來控制芯片接收或讀出數據的狀態(tài)及狀態(tài)轉變
TDI,可以按照TCK的時鐘節(jié)奏向芯片內輸入數據
TDO,在需要時,按照TCK的時鐘節(jié)奏從芯片內讀出數據
JTAG接口標準中,TMS涉及到一個“狀態(tài)機”的概念,有些學員可能理解起來一時有困難,不用強求,先跳過。學員只要明白在下載或運行調試時,下載線是開發(fā)平臺和開發(fā)板之間的數據通道,這個通道開發(fā)平臺的控制下工作,就夠了,至于如何傳輸數據和傳輸的具體內容,可先不去管它。這就是所謂的“穿插式”學習的特點。
對于下載線,了解即可,了解了下載線,開發(fā)系統三部分之間的關系和相互作用也就清楚了。不多羅嗦,進入下一步:開始動手制作開發(fā)板。

FPGA入門學習網絡講座: “柏氏”7步FPGA快速入門學習法
第二部分:制作最簡易的開發(fā)板

自己開始就制作開發(fā)板,不是玩笑吧?要讓學員學會一種方法,抓新技術的“關鍵點”,FPGA芯片和單片機芯片,都是可編程的單芯片系統,這些芯片的運行或實現功能需要兩個最基本的條件:
1. 電源
2. 已裝載的代碼
給芯片提供電源是每個電子產品共有的問題。至于目標代碼的下載和運行調試控制通道,FPGA和單片機芯片都采用的是JTAG接口,要制作開發(fā)板并讓其工作,就要做兩方面的工作,一方面,把芯片JTAG接口的各個信號線與下載線的相應信號線相連,建立代碼下載通道;另一方面,給芯片的相應的電源管腳提供所需的電源。原則上,我們只去滿足開發(fā)板的最基本要求。

實際要制作開發(fā)板,有三個主要環(huán)節(jié)

1.PCB板,空電路板--現在的芯片一般都是貼片封裝,需要一個相應的電路板來貼裝芯片。這個實驗電路板可以采用市場上銷售的通用實驗板,也可以自己制作,或由培訓單位提供。培訓時,要給學員介紹PCB線路板設計制作的主要工具軟件及加工流程。
2. 電源部分
有些單片機芯片的下載線可以給芯片供電。但為了學員學習,理解和掌握,我們選擇在開發(fā)板上用三端穩(wěn)壓塊為芯片供電。關于電源的設計,模擬電源和數字電源的分離問題,接地問題,功耗等等問題。是將來電子產品設計的基礎,培訓時一定要讓學員掌握電源的設計原則和要領,因為他們可能很少有機會學習這方面的內容。限于篇幅,本帖不展開詳細說明。
3.下載和控制通道
設置一個與下載線配套的插座,把芯片JTAG接口的四個信號線TCK,TMS,TDI,TDO與下載線的相應信號線連接,同時,根據需要,把下載線與開發(fā)板的電源和地線的連接。完成以上工作后,一個簡單的開發(fā)板就制作完成了。
需要說明的是,對于FPGA來講,其中的代碼,是用RAM方式存儲的,掉電后就會消失。所以,除了可以通過JTGA連線下載外,FPGA的目標代碼,還可以在上電后從外部存儲芯片上載到FPGA芯片中。FPGA芯片設計有專門的上載電路。
為了簡化設計,我們的開發(fā)板,采用的是CPLD芯片,CPLD芯片的開發(fā)方法和主要功能與FPGA相同,只是其功能簡單一些(不能內嵌CPU等),但其目標代碼可以存儲在芯片內,方便直觀。
雖然“山寨”風格的開發(fā)板很簡單,但在學習的內容上,關于電源,PCB,FPGA/CPLD的異同和應用側重等方面,教學不要漏項。記住,我們提倡的打“穿插”,是不要糾纏非關鍵問題,但不是說完全不理睬這些問題。所有的知識,都可以回頭逐步補齊。



關鍵詞: FPGA 單片機

評論


相關推薦

技術專區(qū)

關閉