93

帖子

4

TA的资源

一粒金砂(中级)

161
 
刚刚看完这个PDF感觉TI Sitar主要优点在使用 ARM + LCD + FPGA + ADC,顺便验证一下新平台
当前采用的架构是 AT91SAM9263 挂载 LCD,通过外部总线和 FPGA 通信,FPGA 控制
ADC 进行电能数据的采样。
至于 EEPROM 可以存放 ID,BeagleBone 的很多其他载板 ID 就是存放在 EEPROM
中 温度传感器只不过是通用设备,可以检测环境的温度 加速度传感器等。
还有就是其高速数据采集和传输,和现场设备管理 -CAN,有了高速 ADC,如果在加入个 LCD,就能很方便的实现示波器的功能。
 

回复

659

帖子

1

TA的资源

纯净的硅(中级)

162
 
本帖最后由 mars4zhu 于 2014-9-14 09:13 编辑



它山之石可以攻玉——读《深入浅出玩转TI Sitara》的启发





文档编号
AN-0001-A0
关键字
TI SitaraBealgeBoneAM335x、芯片开发板平台、借鉴启发
摘要
本文讨论了《深入浅出玩TI Sitara》的一些,并阐述了作者在读后对目前手上一些项目的技术启发,










Mars4zhu

目  录






插图索引




表格索引






1
概述
《深入浅出玩TI Sitara汇聚了TI原厂的文档、EEworld网友的试用心得,以及一些网友比较特色的项目。特别是本人的一个帖子页有幸进入了该电子书(1.3.12 BeagbleBone 之网页控制 LED 灯,https://bbs.eeworld.com.cn/thread-352593-1-1.html)。高兴之余也将其他网友的分享细细阅读,对比自惭形秽和奋起努力直追之心油然而生。
在通读了该书,并仔细深入了网友的一些心得之后,掩卷沉思,总结了该书对自己有收获的一些要点,并分享受到的对目前手头上一些项目启发点。

2
《深入浅出玩TI Sitara》主体内容
《深入浅出玩TI Sitara共分三个部分,主体结构如下:
第一章 基础篇(主要介绍了BBB的软硬件、开发工具与环境,基础性实验如GPIOADC的试用,以及网友的一些使用心得)
|-----------------BB-Black 开发环境的搭建
|----------------- BeagleBone Black之基础实验篇(GPIODACI2CSPI,外部设备如LCDEEPROMDS18B20、以及linux系统的使用如网络、VNC等,其中隆重推荐本人的1.3.12 BeagbleBone之网页控制LED
|-----------------BB-Black相关性能测评(IO、内存、网络性能的评测)
第二章 官方课程(主要介绍了TI官网的教程)
|----------------- TI Sitara AM335x系列概述(资源、架构、文件系统、硬件系统等)
|----------------- uboot、启动方式优化
|----------------- 调试方式(CCS调试linuxIAR+JLink调试AM335x
|----------------- 应用案例(工业自动化、LED-WALLHMICAN+EtherCAT
第三章 EEworld论坛网友实战篇(主要汇聚了eeworld网友一些比较有趣、成功的使用BBB开发的项目)。


3 阅读收获与启发点
3.1.
Linux系统与外设驱动
Sitara属于较为高端的MPUAP,主频高、内存容量大、结构复杂,能够运行linux等操作系统,因此,该芯片对内部集成的外设,采取了linux系统的设备树(Device Tree驱动的方式,而完全不是平常做嵌入式开发的单片机直接读写寄存器的控制方式。
表 31  Ti Sitaralinux外设驱动使用心得
外设类型
对应章节
描述摘要
GPIO
1.3.1 BeagleBone Black GPIO的相关操作
LEDHandle = fopen("/sys/class/gpio/export"
fwrite(&setValue, sizeof(char), sizeof(setValue) - 1 , LEDHandle)
ADC
1.3.2 BeagleBone BlackADC 的使用
fd = fopen("/sys/bus/iio/devices/iio:device0/in_voltage3_raw")
read(fd,ch,4);
...
...
...
可见,当具有高级操作系统(High Level OS, HLOS)时,对外设的管理就有了一定的规范化和标准化,对数据结构、调用接口都有了要求,必须符合了这个要求,才能满足linux系统的设备管理。
联想到我们常用的MCU控制外设的方式,基本都是直接读取寄存器控制,或中断相应,这样做的好处是直接面向硬件,获得最高的效率、灵活性和最快的速度,然而,这样导致做成的项目代码绑定在了硬件上。当换一种硬件,则必须重新开发软件。因此,HLOS的硬件抽象化,结构和API标准化仅仅是牺牲了一部分效率和灵活性,获得了不依赖硬件的独立软件体系。
联想到目前的MCU也逐步进入了硬件抽象层,软件API标准化的趋势,比如ARM公司提出的CMSIS标准,统一了ARM架构的软件接口标准。各个芯片公司也推出自家芯片的标准库函数,同时第三方软件公司也开发标准库,最著名的则是arduino,标准化硬件接口和软件API,已经成为了一个准嵌入式行业标准。
表 32  目前MCU平台的软件标准化(库函数)
芯片生产商
MCU平台
软件标准(库函数)
TI
Msp430
430ware
TI
Tiva
Tivaware
NXP
LPC
LPCware
STM
STM32
STSW
Freescale
Kinetis
Kinetis-SDK
...
...
...
同时MCU的开发板硬件接口、布局和功能也开始从五花八门走向标准化统一化。
表 33  目前MCU平台的硬件标准化
芯片生产商
MCU平台
硬件标准
TI
Msp430/c2000/Tiva
Launchpad
STM
STM32
Nucleo
NXP
LPC
LPCXpresso
Freescale
Kinetis
FRDM/Tower
Arduino
AVR/AT91
arduino

3.2. PRU与自定义外围器件的控制通讯协议
刚开始了解PRU,还不是特别清楚PRU的作用,以为是一个协处理器,经过阅读《深入浅出玩TI Sitara》,才明白PRU的强大功能所在。首先复制一段介绍:
AM335x 内部还包含了一个叫做 PRU 的系统,PRU 可以理解为一个内置的 MCU 或者 FPGA,用户可以在这个 PRU 里面去做一些自己的定制性开发(TI 为了方便应用开发,现已在 PRU 里提供了串口驱动 )。比如,该芯片目前只支持 6 个串口,通过PRU 可以再扩出 4 个串口,那么,AM335x 整体来说,就相当于已经支持了10 个串口。同时 AM335x 还支持一些外部的工业总线,如 EtherCAT PROFIBUS 等,这些总线的协议站都是在 PRU 系统里实现的。”1
如果没有深入理解这段介绍,那么《深入浅出玩TI Sitara》书中的“3.1 家居生活管理中心”给出了一个最好的解释。
该项目通过在linux系统中使用C语言或者php,与PRU子系统进行通讯,php负责传递数据到PRU子系统,而PRU子系统则负责将该数据按照红外遥控协议(遥控代码、38K载波调制),输出到引脚的红外发光管,最终实现了红外遥控功能。
“是要实现利用这代码来控制实现红外线遥控器波形,想用 pruss 控制波形,第一件麻烦事就是要发送的数据由 C 语言程序传递到 pru 程序。其实 pru 使用的空间(无论数据还是代码),都存在在我们的 flat 内存空间上。所以只要找对地方,把数据写入。控制红外线的时序,交给 pru 就可以,没必要再加一个内核驱动了。接下来,应用程序从 php 获取数据,然后传递给 pru,再让 pru 执行生成红外线时序的代码。”
该项目间接地说,就是PRU子系统负责红外遥控波形的生成(包括遥控代码数据调制、时序、载波生成等),然后用户程序只需要将遥控代码数据传递给PRU子系统,其余的则CPU不需要考虑
联想到我开发的一个项目,需要控制多彩LED灯带。目前流行的LED灯带采用两线制、单线制等控制协议,某LED灯带的控制协议如下:


图 31  某LED灯带控制协议
在没有采用外部CPLD或者专用MCU之前,花费了大量的时间用MCU控制GPIO引脚生成控制波形,导致复杂度大大增加,而且对MCU剩余的处理能力造成影响。
如果采用AM335x作为LED灯带控制,则不需要外部的CPLD或者专用MCU,同时可利用AM335x的丰富强大的多媒体图像、文件存储功能实现更好的显示效果图。



4 总结
本文对《深入浅出玩TI Sitara》阅读后的思考和启发点进行了简要记录,总结了电子书的主体结构,重点讲述了阅读后的启发借鉴意义。即:对linux设备树统一外设驱动标准引起对嵌入式系统、MCU的软件/库函数、硬件布局/接口的标准化思考。PRU子系统的自定义外部器件协议的功能。
他山之石可以攻玉,触类旁通,确实从该书本中学会了很多东西。




版本历史(Revision History

版本号
发布时间
内容
A0
2014-09-13
初次发布。



它山之石可以攻玉——读《深入浅出玩转TI Sitara》的启发.pdf (314.18 KB, 下载次数: 2)


 
 

回复

659

帖子

1

TA的资源

纯净的硅(中级)

163
 
word复制变样了,请下载pdf查看。
 
 
 

回复

1193

帖子

0

TA的资源

纯净的硅(高级)

164
 
本帖最后由 qiushenghua 于 2014-9-14 01:01 编辑

搭个末班车参加活动,今天主要来挑刺来了。
先揪出几个虫子:
第9页倒数第5行 “四LDO 和电池充电单元”应该为“四LDO 和电池充电单元”
第38页倒数第7行“插上TF 卡时,通常FAT32 格式的”应该为“插上TF 卡时,通常FAT32 格式的"(感觉还是有些语句不通,建议好好斟酌一下这句的表述。估计原意应该是“插上TF 卡,通常情况下我们使用的TF卡是FAT32格式的。”)
第243页倒数第9行“也实现协议站”应该为“也实现协议”。

从资料中我们可以了解到,TI Sitara系列,也就是所谓的AM335X系列处理器主要可以用于工业项目的开发,但是,从资料里介绍的那些创意看来,大家更多的把这个玩意,特别是BeagleBone用在了家庭娱乐等项目上,极少用在工业上的。不可否认,这颗IC确实具备很强大的计算与处理能力,足以胜任大多数的家庭娱乐项目。但是,既然TI对于这颗IC的定位是工业应用,那么肯定是具备了很多工业产品才需要具备的特性,将其用于娱乐项目有些太奢侈浪费了。

初一看这个资料确实不错,手把手的教会大家怎么使用AM335X处理器开发产品,从搭建环境到安装系统,再到编写驱动控制外设,基本上是手把手的教的。里面涉及了很多Linux系统下的命令和开源程序的使用方法。官方资料则是主打介绍这颗IC有些什么功能,有些什么特性,支持什么操作系统和开发环境,又该如何选型,最后演示了用其开发的几个项目。

但是(之前说过,今天是挑刺来了),仔细看下来之后,我认为,学习了这个教程之后,我们更多的可能会处于一种“知其然而不知其所以然”的状态。我认为作为教程,应该更多的关注于“为什么要这样做”,这样才能为完全没有接触过嵌入式系统开发的朋友提供一个入门引导,不然这样的教程培养出来的会是更多的“模仿者”而不是“开发者”。
举个例子,教程第24页,在介绍完BBB之后直接开始了开发环境的搭建。一上来就是1.2.1Linux的安装(为什么要安装Linux),1、安装VMware 7.13(为什么要安装虚拟机,这里的开发环境,我们一般认为是交叉编译环境,需要Linux可以理解,BBB里跑的就是Linux,但是直接安装Linux作为操作系统也行啊,为什么要在虚拟机下跑呢?还是说这个镜像文件就是BBB上跑的系统,到时候可以直接把镜像文件烧录进BBB里去的,所以要用虚拟机跑?)
点了章节后面的链接,才知道原来这是在上次活动里的开发周记(姑且这么提),这样看来,这片教程根本不是新手入门学习的合适教程,而更像是众多“先行者”经验教训的总结合集。
后面的经验教训说起来更多是Linux的操作,没有太大的借鉴价值,如果需要了解Linux操作,自己在几年前淘汰下来的电脑上安装一个Linux系统(这年头谁家没有几台破电脑),然后直接操作、ssh远程登录上去学习一下就可以了。如果实在没有的话,淘宝买台能刷DD-Wrt或者已经刷好的路由器回来,也可以用ssh工具远程登录上去操作,就是几十块钱的事情,不过ddwrt的缺点也很明显,不能安装太多的软件,很多东西都没有,但是学习简单的命令操作还是完全没有问题的。貌似跑题了,但我还得再提一句,《鸟哥私房菜》是很好的Linux操作学习教材,很详细很明了,值得一看。
反正这章开发环境的搭建看得很眼晕,不如官方教材第2.5、2.6节有效果。不过可惜,官方教材只有环境的搭建,没有具体的操作资源的介绍。当然,上帝在给你关上门的时候总会给你打开一扇窗,第1.3、1.4节的内容弥补了这个缺陷。这两节的内容我认为是这份教程里最优秀的部分了,详细的介绍了每个资源的管脚定义、连线方式、操作方法、相关文档,当然也少不了最关键的例程。这部分资料我并没有仔细看,不排除有鱼目混珠的小节。但是总体上说,这部分资料还是很优秀的,真正“手把手”指导了大家怎么操作BBB上的资源。

第三章的内容没什么好说的,创意有很多,但是真正实现的不知道有几个。同时最开头也提到,大家更多把BBB当成了一个娱乐用品,而不是工业产品来开发,所以浪费了AM335X的优秀性能,对于这些使用方法的合理性我持保留态度。

最后总结一下这份材料我认为合理的阅读顺序:
序言-目录-2.0-2.1-1.0-1.1-2.2-2.4-2.5-2.6-1.3-1.4-2.3-3/2.7/2.8/2.9/2.10-1.2
创意看看就好了,1.2节属于个性化玩法的部分,经验教训多余学习价值,因此放在最后。


 
 
 

回复

1228

帖子

0

TA的资源

纯净的硅(高级)

165
 
非常不错,就喜欢这种解释具体步骤的书,上学的时候图书馆有很多讲理论的书,看了半天也不知道到底应该如何用开发板和操作系统,这本书有环境搭建,有具体的实验,“深入浅出”果然不是浪得虚名 ,非常不错。好好学习下,我想买个BB试一下。
感觉要能提供源工程就更好了,对我这种新手来说可能建工程都需要学一阵子
等我学会了,我一定总结,并提供最“无脑”的教程,便于后人学习。
感觉美中不足是例子中的注释太少了,几乎没有啊。
总体来说还是非常不错的一本书
个人签名

喝最烈的酒,..DIY最实用的东西

 
 
 

回复

43

帖子

0

TA的资源

一粒金砂(中级)

166
 
看了 深入浅出玩TI Sitara.TI Sitara的芯片比M3 M4 强大多了.
一直以为 嵌入式linux开发是一件相当困难的事情.但是作者一步一步的讲解 发现学会Linux是件轻而易举的事情
 
 
 

回复

8

帖子

0

TA的资源

一粒金砂(初级)

167
 
 
 

回复

4826

帖子

3

TA的资源

版主

168
 
本帖最后由 led2015 于 2014-9-14 20:03 编辑

终于看了这篇大论,感觉深有体会啊,这篇关于BB-BLACK模块的资料,主要讲解了入门,开发环境,实验,性能。AM335X系列的讲解,以及一些实际经验,通过对这个资料能够熟悉和了解TI Sitara 系列芯片, 对于今后掌握更多更高的技术有很大的帮助,
根据资料,主要是AM3359处理器的介绍,存储器, 板载接口,按钮按键,周边芯片, 引脚定义、以及CPU 周边芯片TPS65217电源管理芯片,MTFC2GMVEAeMMCFlash 存储器,MT41K256M16HA-125 DDR 存储器,LAN8710A-EZC-TR Ethernet 芯片,TDA19988 发送器,这里了解的比较详细。
而作为最主要的EE_BeagleBone_Cape 硬件系统设计,用于高速数据采集和传输,数字示波器,现场设备管理-CAN,串口扩展,电能数据采集,以及一些设计的讲演, 设计的原理图,涉及到MAX485,看到出来在应用上面的确这个平台十分强大。
文中针对平台的安装等都有详细的说明,尤其对Linux 驱动也有详细的解释,在程序方面给人全面的认知,可以说,从配置,安装,应用,参数说明上都比较详细,对于各种命令和使用手段也比较到位。尤其是针对程序也有大量的代码说明,这对于我们以后要使用和启动有很大的帮助,Eclipse + CDT plugin等文,对使用在插件和运用上都有指点,例如对学习Sitara AM335x就提供了大量的资料和代码解释,这对于新手在运用上有很好的帮助。其实对新手来说,最难的就是代码的编译,这点上文章写的比较详细,也主要是用实例来解说的,对于学习BeagleBone Black有很大的作用,并且标明了很多的实验,尤其是在各个应用上对硬件和软件都有详细的说明。虽然已经举例了很多很多的例子,但个人觉得如果可以增加更多更详细的实例和视频讲解,并且可以有比较细致易懂的话语,就更好了。
AM335x作为重头戏,在本文中讲说的比较多,图解和网站指引比较多,因为可应用的方面比较多,文中采用了图文并茂的方式,用文字,图片,网站指引,让我们看的很清澈,因为主要是从应用上讲解的,所以很多都很适用,并且在最后针对实战方面也给与了比较多的篇幅,其实主要还是从代码,硬件,视频画面,给与了软件实现,硬件驱动的应用,以及波形,讲解了每个应用的功能,软件设计思路,硬件设计思路,项目实施的方法, 时间安排,预期的结果,并且在很多实际的例子上有比较多的延伸讲解,提供了大量的实例,使得 初次使 用 TI Sitara 的工程师能够快速上手开发,可谓是诸多热爱BeagleBone Black 的工程师实战项目开发资料。
在文章中也看到了无数的例子的文章没有一一指点,而是延伸出链接,让我们再去多领悟些新的知识面,这点做的很好,整体感觉,本文算是用大众化的亲近的语言来描述一门高深的资料,以后有时间, 还需要多多熟悉才能理解。

 
 
 

回复

42

帖子

0

TA的资源

一粒金砂(中级)

169
 
不错,很喜欢,越来越有质量了
 
 
 

回复

8

帖子

0

TA的资源

一粒金砂(初级)

170
 
非常不错,就喜欢这种解释具体步骤的书,上学的时候图书馆有很多讲理论的书,看了半天也不知道到底应该如何用开发板和操作系统,这本书有环境搭建,有具体的实验,“深入浅出”果然不是浪得虚名 ,非常不错。好好学习下,我想买个BB试一下。
 
 
 

回复

72

帖子

0

TA的资源

一粒金砂(中级)

171
 
EEworld 的学习氛围是我见过论坛中最浓厚的,Soso的组织能力很强,持之以恒坚持多年,带领了一大帮刚入行的新手找到方向,《深入浅出玩TI Sitara》又是一个力作,点个赞。
 
 
 

回复

440

帖子

0

TA的资源

一粒金砂(高级)

172
 
活动时间不是到了???

点评

活动时间已结束,我们正在整理大家的帖子信息!  详情 回复 发表于 2014-9-16 11:00
个人签名
I like you, but just like you !
纵然万劫不复,纵然相思入骨,
我也待你眉眼如初,岁月如故!
 
 
 

回复

6066

帖子

92

TA的资源

裸片初长成(初级)

173
 
High哥 发表于 2014-9-16 10:58
活动时间不是到了???

活动时间已结束,我们正在整理大家的帖子信息!
 
 
 

回复

86

帖子

1

TA的资源

一粒金砂(中级)

174
 
粗略的看了一下  挺不错的,手上真好有块Beaglebone black  有时间好好学学!!!!

点评

学完能转给我吗、  详情 回复 发表于 2014-9-20 14:34
 
 
 

回复

114

帖子

0

TA的资源

一粒金砂(中级)

175
 
    这篇文章写的太好了。提供了丰富的外设接口。包括网口、USB Host、USB OTG、TF 卡接口、串口、JTAG 接口、HDMI D Type 接口、eMMC、ADC、I2C、SPI、PWM 和LCD 接口。TI Sitara能够满足包括游戏外设、家庭和工业自动化、消费类医疗器械、打印机、智能收费系统、智能售货机称重系统、教育终端和高级玩具等在内的各个领域的不同需求.有许多的地方我到现在也糊涂。主要是因为我的工作环境不允许接触这么高难的东东。
但我有板子,我有空会自己搞一下。最后感谢下作者,这么辛苦拿下这个大作
 
 
 

回复

659

帖子

1

TA的资源

纯净的硅(中级)

176
 
congcong40 发表于 2014-9-16 16:39
粗略的看了一下  挺不错的,手上真好有块Beaglebone black  有时间好好学学!!!!

学完能转给我吗、
 
 
 

回复

417

帖子

10

TA的资源

一粒金砂(高级)

177
 
下载不下来。
 
 
 

回复

23

帖子

0

TA的资源

一粒金砂(中级)

178
 
感谢楼主分享 给我的学习道路指明方向,让我入门更容易。谢谢
 
 
 

回复

1

帖子

0

TA的资源

一粒金砂(初级)

179
 
看完这本书  感觉收获挺大的   基于Linux等一些系统下学习一些嵌入式等    还了解了很多TI的各类芯片  很赞
 
 
 

回复

6

帖子

2

TA的资源

一粒金砂(中级)

180
 
个人信息修改完毕,获得空气净化器
 
 
 

回复
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/10 下一条
中星联华&ADI明日直播
直播主题:大咖面对面,轻松玩转高速ADC性能测试
直播时间:3月25日(周二)14:00
活动奖励:京东卡、双肩包

查看 »

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

 
机器人开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网 13

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表