还是原来的配方,还是熟悉的味道……针对第十五届智能汽车竞赛“双车之一”+“信标组”指定英飞凌单片机,并且只允许使用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中有讲解所有例程是干啥的(中文写的哦)。
▲ 开发例程
接下来我们简单举例库如何使用。
查找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。
根据任务需要我们查找seekfree_peripheral文件夹下,可以找到SEEKFREE_MT9V03X与SEEKFREE_18TFT文件,我们只需要调用相关的函数即可实现任务需求。
▲ 程序例子
因为TC264应该大多数同学都是刚刚接触,加上今年各种复杂的情况导致参赛难度增加,因此我们也特意做了IO分配供大家参考,结合以上示例的操作和库里面的IO分配建议,便可以更加节省时间,快速搭建你的小车了。
总钻风摄像头: 8个数据口、一个串口、两eru中断
四路OPA4377运放:A0 A1 A2 A3 等
四个逐飞迷你编码器:
8路pwm输出: 21_2 21_3 21_4 21_5 02_4 02_5 02_6 02_7
逐飞ICM20602六轴陀螺仪:
TFT屏幕:
舵机:P33_9
以上是库的内容简介、使用示例和IO规划建议,但要真正用起来,还需要熟悉一个东西—Tasking。
使用过逐飞库的同学看完上面的介绍一定很熟悉啦,没使用过小白也完全不用担心,使用库来进行开发的底层工作变得非常简单,但因为开发环境不再是大家熟悉的IAR或者MDK,而是陌生的Tasking,基于这个因素,逐飞又贴心的为大家准备了“逐飞科技Tasking环境使用说明”这份专门的教程,就问你感动不感动吧。
拿着这两个神器,从此不再为英飞凌TC264发愁。其实我们做开源库以及做Tasking教程的目的是为了让前期比较盲目的初学者能通过我们开源库快速上手,不被门槛拦在外面,结合今年异常复杂的情况,还是好难,对小白来说更困难的,想尽快入门,想尽快的把全新单片机使用起来,的确需要多查阅一些资料,去学习怎么使用这些单片机的资源,我们做的工作也仅限于方便初学者能多一条路子把单片机用起来。同时,我们鼓励学有余力的车友们自己开发底层,这个过程会让你积累很多嵌入式开发的技能和知识。
“逐飞TC264智能车开源库”&“逐飞科技Tasking环境使用说明”讲完了,是时候该告诉大家在哪里能下载到这两个东西了,按老规矩,逐飞还是将这个开源项目放在了git进行开源,相较于使用百度网盘具有下载速度更快(不用开会员哦),方便用户随时进行同步。同时也方便我们更新和管理,以后的开源都会放在码云上。大家也可以在上面找到很多有意思的开源项目供自己学习。
码云链接:https://gitee.com/seekfree/TC264_Library
开源文件里面包含入门教程,便于大家快速上手。
本期的库介绍就到这里了,大家在使用库的过程中如果遇到什么BUG,请及时联系我们!我们将尽快修复。如果发现库有BUG、或不足、或对库有什么建议,可以在群里提问或发表建议,也可与管理员私聊,保障该开源库有什么缺陷时可以及时得到解决。然后再分享给各位,形成良性循环。
最后,当然是希望大家多多支持逐飞科技,逐飞TC264核心板、英飞凌下载器已备好,主板学习板也即将上架,你懂得,你们的支持是我们开源的动力。再次感谢车友们的厚爱!
最最后,剧透一下,有部分懒虫想要的STC开源库也会来的,很快了。再剧透一下,为了更好的和大家交流、学习,这段时间逐飞也在搭建视频录制平台,但是想要做的像那么回事情还需要做不少工作,也很快了!
▲ 开发板
本文由“逐飞科技”编辑整理,时间仓促,水平有限,难免有遗漏和错误,大神亲拍,欢迎交流指正。愿智能车世界更美好!
▲ 英飞凌的下载器和开发板