英飛凌的開發板
還是原來的配方,還是熟悉的味道……針對第十五屆智能汽車競賽“雙車之一”+“信標組”指定英飛凌單片機,並且只允許使用AURIX TriCore系列單片機,具體參考下圖卓老師公眾號裡的回覆:
▲ 提問與回覆
同時英飛凌為大家提供了一定數量的SAK-TC264D-40F200NBC免費樣片供參賽學生申請和35元低價樣片供參賽選手購買。
這個前提之下,作為支持智能車競賽的第三方硬件模塊供應商,被無數次催問是否會做TC264核心板?是否會做英飛凌下載器?是否會和以前一樣出開源庫?什麼時候能做好?這幾個問題催得我和我的小夥伴們頭髮掉了好多……
所以,我們針對TC264這個型號所做的一些微小的工作也陸續在和大家見面了,比如TC264核心板(同時還開放了低至79元的TC264眾籌活動,活動還在繼續,有申請到樣片或買到低價芯片的可以繼續參與:http://seekfree.mikecrm.com/Qp0r13I),再比如價格美麗的英飛凌下載器,以及即將配套發售的TC264主板學習板,當然,為了更好的讓初學者入門,更輕鬆的用TC264做開發學習工作,逐飛開發了基於智能車應用的底層驅動庫,雖然晚了點,但以逐飛的個性,必須得做的像模像樣一點再開源的,同時在上週也已經發給了部分用戶做內測,一切就緒後,還是趕在了大家預定的核心板、下載器可以陸續發貨的神奇“週一”的這個特殊日子發佈--“逐飛TC264智能車開源庫”&“逐飛科技Tasking環境使用說明 ”。
PS:這是逐飛繼**“KEA128開源庫**”、“LPC54606開源庫”、“i.MXRT1021開源庫”、“i.MX RT1064開源庫”之後,逐飛製作的又一個開源庫--“逐飛TC264智能車開源庫”,本次開源庫中也有IO分配建議文檔,為大家做智能車資源規劃,引腳分配提供參考,另外,想了解以上開源庫的同學可以搜索逐飛以前在“智能車製作論壇”上發的帖子查看。
開源庫
前言敘盡,以下是今天的主角,“逐飛TC264智能車開源庫”的簡要介紹:
版權聲明:該開源庫版權歸成都逐飛科技有限公司所有,歡迎各位使用並傳播該庫程序,修改內容時務必保留逐飛科技的版權聲明。未經允許不得用於商業用途或變相獲利。
還是直接上圖,一目瞭然!
▲ 開發軟件目錄
BaseSw文件夾下放置的是英飛凌官方提供的ILLD底層驅動。
seekfree_libraries文件夾下放置的是逐飛科技精心編寫的底層驅動,底層驅動是用英飛凌官方的ILLD進行二次封裝,以簡化各個模塊的使用步驟,使用更加方便。如果不是參加競賽的用戶可以使用這一層的驅動來實現TC系列的快速上手,也可以通過查看我們的代碼用於學習ILLD如何使用。目前支持ADC、Eru_Dma(IO中斷觸發DMA)、片內eeprom讀寫操作、GPIO、PIT、PWM、GPT12(編碼器採集)、SPI、SYSTICK、UART、ERU。如果有需要其他功能亦可直接調用ILLD來實現其他功能。
seekfree_peripheral文件夾下放置的是各類常用的模塊驅動,當使用到這些模塊時只需要調用函數即可實現相應的功能,非常的簡單方便。目前實現1.8寸TFT、ICM20602六軸陀螺儀、IIC通訊協議(模擬IO)、1.14寸IPS液晶屏、2.0寸8位並口屏幕、L3G4200D三軸陀螺儀、MMA8451三軸加速度計、MPU6050六軸陀螺儀、總鑽風攝像頭(灰度)、OLED顯示屏、虛擬示波器通訊協議、無線轉串口模塊。
CODE文件夾下放置的是用戶自己添加的代碼文件,當用戶自己添加文件的時候我們建議全部添加在這個文件夾內。
USER文件夾下放置的是Cpu0_Main.c、Cpu1_Main.c、isr.c、isr_config文件,其中isr_config比較重要,用於配置各個中斷的服務者以及中斷優先級。需要特別注意:所有中斷的優先級都不能一樣。
DOC文件夾下放置的是庫版本文件,表示當前庫版本號是多少,以及版本主要的更新內容。 目前庫裡面沒有硬件IIC以及小鑽風的驅動,會在後期進行添加。
本次TC264開源庫使用tasking進行編寫的,調試時使用的是逐飛製作的英飛凌專用下載器。
各個模塊的庫例程也都為大家準備好了,如下圖截圖所示,圖中所示各模塊為逐飛為大家編寫的庫例程,目的是讓新手朋友或者沒有使用過我們庫的小夥伴能夠快速上手,大家可以看到目錄全部採用英文,這樣避免出現各種奇怪的問題,所以建議寫代碼的小夥伴都用全英文的路徑避免出問題,下面的excel中有講解所有例程是幹啥的(中文寫的哦)。
▲ 開發例程
開源庫使用例子
接下來我們簡單舉例庫如何使用。
示例一:輸出PWM
查找seekfree_libraries文件夾下,我們可以看到有zf_gtm_pwm的文件,這個就是用於輸出PWM的。
▲ 程序例子
gtm_pwm_init(ATOM0_CH4_P02_4, 50, 0); PWM初始化函數第一個參數表示所選擇使用的引腳,可選引腳可以查看zf_gtm_pwm.h中關於引腳的枚舉,第二個參數表示PWM的頻率,第三個參數表示PWM的佔空比。
pwm_duty(ATOM0_CH4_P02_4,5000); 佔空比設置函數,第一個參數表示選擇的引腳,第二個參數表示設置的佔空比,其中佔空比等於百分之0/GTM_ATOM0_PWM_DUTY_MAX*100。
示例二:採集總鑽風圖像並在TFT屏幕上顯示
根據任務需要我們查找seekfree_peripheral文件夾下,可以找到SEEKFREE_MT9V03X與SEEKFREE_18TFT文件,我們只需要調用相關的函數即可實現任務需求。
▲ 程序例子
因為TC264應該大多數同學都是剛剛接觸,加上今年各種複雜的情況導致參賽難度增加,因此我們也特意做了IO分配供大家參考,結合以上示例的操作和庫裡面的IO分配建議,便可以更加節省時間,快速搭建你的小車了。 總鑽風攝像頭: 8個數據口、一個串口、兩eru中斷
- 數據口:00_0 00_1 00_200_3 00_4 00_5 00_6 00_7
- 配置串口:攝像頭RX:02_2 攝像頭TX:02_3
- VSY:02_0
- PCLK:02_1
四路OPA4377運放:A0 A1 A2 A3 等
四個逐飛迷你編碼器:
- LSB:33_7 DIR:33_6
- LSB:02_8 DIR:00_9
- LSB:10_3 DIR:10_1
- LSB:20_3 DIR:20_0
8路pwm輸出: 21_2 21_3 21_4 21_5 02_4 02_5 02_6 02_7
逐飛ICM20602六軸陀螺儀:
- CLK: P20_11
- MOSI: P20_14
- MISO: P20_12
- CS: P20_13
- SPI0
TFT屏幕:
- CLK 15_3
- MOSI 15_5
- MISO 15_4
- CS0 15_2
- BL 15_4
- REST 15_1
- DC 15_0
- SPI2
舵機:P33_9
TASKING軟件
以上是庫的內容簡介、使用示例和IO規劃建議,但要真正用起來,還需要熟悉一個東西—Tasking。
使用過逐飛庫的同學看完上面的介紹一定很熟悉啦,沒使用過小白也完全不用擔心,使用庫來進行開發的底層工作變得非常簡單,但因為開發環境不再是大家熟悉的IAR或者MDK,而是陌生的Tasking,基於這個因素,逐飛又貼心的為大家準備了“逐飛科技Tasking環境使用說明”這份專門的教程,就問你感動不感動吧。
拿著這兩個神器,從此不再為英飛凌TC264發愁。其實我們做開源庫以及做Tasking教程的目的是為了讓前期比較盲目的初學者能通過我們開源庫快速上手,不被門檻攔在外面,結合今年異常複雜的情況,還是好難,對小白來說更困難的,想盡快入門,想盡快的把全新單片機使用起來,的確需要多查閱一些資料,去學習怎麼使用這些單片機的資源,我們做的工作也僅限於方便初學者能多一條路子把單片機用起來。同時,我們鼓勵學有餘力的車友們自己開發底層,這個過程會讓你積累很多嵌入式開發的技能和知識。
資源下載
“逐飛TC264智能車開源庫 ”&“逐飛科技Tasking環境使用說明”講完了,是時候該告訴大家在哪裡能下載到這兩個東西了,按老規矩,逐飛還是將這個開源項目放在了git進行開源,相較於使用百度網盤具有下載速度更快(不用開會員哦),方便用戶隨時進行同步。同時也方便我們更新和管理,以後的開源都會放在碼雲上。大家也可以在上面找到很多有意思的開源項目供自己學習。
碼雲鏈接:https://gitee.com/seekfree/TC264_Library 開源文件裡面包含入門教程,便於大家快速上手。
本期的庫介紹就到這裡了,大家在使用庫的過程中如果遇到什麼BUG,請及時聯繫我們!我們將盡快修復。如果發現庫有BUG、或不足、或對庫有什麼建議,可以在群裡提問或發表建議,也可與管理員私聊,保障該開源庫有什麼缺陷時可以及時得到解決。然後再分享給各位,形成良性循環。
最後,當然是希望大家多多支持逐飛科技,逐飛TC264核心板、英飛凌下載器已備好,主板學習板也即將上架,你懂得,你們的支持是我們開源的動力。再次感謝車友們的厚愛!
最最後,劇透一下,有部分懶蟲想要的STC開源庫也會來的,很快了。再劇透一下,為了更好的和大家交流、學習,這段時間逐飛也在搭建視頻錄製平臺,但是想要做的像那麼回事情還需要做不少工作,也很快了!
▲ 開發板
本文由“逐飛科技”編輯整理,時間倉促,水平有限,難免有遺漏和錯誤,大神親拍,歡迎交流指正。願智能車世界更美好!
▲ 英飛凌的下載器和開發板