基于Linux/Cortex-Arm A8 的构架咨询
本帖最后由 meiko 于 2016-1-21 17:23 编辑比方说一台打印机,需要一个漂亮美观的人机界面,还有联网等。
Linux(也可以是winCE)+Arm9 或者A8 这种SOC,如果拿来做设备的主控制器,上面运行GUI,同时负责几个步进电机和无刷伺服电机,还有打印头的数据装填等工作。
我因为不了解linux,担心的问题是会不会出现“卡顿”,比方说GUI触摸屏的输入会不会造成电机运行的问题(或者反过来说,电机运行会造成人机互动的卡顿)?
一般情况下,这种实时性略有要求的系统该怎么搭建,是否要单独一块MCU来完成类似运动控制器的功能去控制电机驱动器之类? 操作系统就是用来干你说的这事的--任务隔离 我也不太懂哦。 万物互联 发表于 2016-1-21 17:28
操作系统就是用来干你说的这事的--任务隔离
但任务的实时性如何保证呢? 比如LCD上正在播放一个关于按键之类动作的动画,同时电机,打印头在工作。 meiko 发表于 2016-1-21 17:53
但任务的实时性如何保证呢? 比如LCD上正在播放一个关于按键之类动作的动画,同时电机,打印头在工作。 ...
任务调度是内核自动完成的,你开发的应用作为内核的用户不必担心具体过程。但是有一个问题,就是linux目前还做不到硬实时(这也不是它的设计目标),只能做到每个任务尽快得到调度。
当然任务的优先级是可以通过nice值人为设置的,有实时任务和普通任务不同策略分别调度。 增加个STM32增加不了多少成本的,还简化设计。搞得太复杂能把你整死。 xjavr 发表于 2016-1-21 18:04
增加个STM32增加不了多少成本的,还简化设计。搞得太复杂能把你整死。
其实不是成本的考虑,而是设计上是否合理,感觉像A8这种,性能应该是富余的,再加个M3...... Linux的中断相应需要数个毫秒,任务切换需要的时间更多。如果你的设计允许这样的响应延时则无问题 弄个实时系统 主频高的 延时小些一般400M以上应该就小于1ms 了 f1yh1347 发表于 2016-1-21 18:32
弄个实时系统
实时系统容易做出漂亮的人机界面吗?比方说按下一个按键伴随着各种渲染光影动画... 方案有问题,控制机构要专门一个MCU来做,显示界面用Linux来搞是没问题的,可以搞得很酷。 可不可以用双核心的 一个核心做控制,一个核心做界面?
不懂LINUX
f1yh1347 发表于 2016-1-21 18:32
弄个实时系统
vxworks 和 UCOS 算不算实时系统? 3D打印机这样的已经有了 AM335X一个A8和还有附加的实时控制单元相当于裸奔单片机 NJ8888 发表于 2016-1-21 20:31
AM335X一个A8和还有附加的实时控制单元相当于裸奔单片机
这句话很费解{:3_57:} 孤独的猫 发表于 2016-1-21 20:02
3D打印机这样的已经有了
给个关键字的提示?谢谢! meiko 发表于 2016-1-21 21:17
这句话很费解
那就说明你还没能力用它,干脆外包吧 NJ8888 发表于 2016-1-21 20:31
AM335X一个A8和还有附加的实时控制单元相当于裸奔单片机
你是指PRU-ICSS?
这个怎么使用都没有在官网找到 meiko 发表于 2016-1-21 18:22
其实不是成本的考虑,而是设计上是否合理,感觉像A8这种,性能应该是富余的,再加个M3...... ...
如果什么都自己实现,性能肯定是富余人。从开发效率来讲堆积木就比较快。
尽管Android有8个1.5G的CPU,也不够STM32做实时控制好。 NJ8888 发表于 2016-1-21 21:19
那就说明你还没能力用它,干脆外包吧
我一直都是赶鸭子上架的方式做事的,外包了,那我吃什么?{:lol:} 你打算多做多么炫酷的人机界面了? 还非得用linux? 弄个M4或M7的处理器, 跑实时操作系统+嵌入式的GUI就够了。 linux做界面,人机交互,网络等。控制电机用另外的mcu做。二者用串口或者其他的方式进行通信。 iskywolf 发表于 2016-1-21 22:42
你打算多做多么炫酷的人机界面了? 还非得用linux? 弄个M4或M7的处理器, 跑实时操作系统+嵌入式的GUI就够了 ...
打印机需要用到网络。m4 m7都不合适。linux在gui网络上很成熟,基于此,linux会比较合适。 通常这种系统是SOC+MCU架构,SOC处理ui和接口, MCU处理实时任务;参考汽车导航 增加个三块钱的单片机就能搞定实时控制,妥妥的,别废话 iskywolf 发表于 2016-1-21 22:42
你打算多做多么炫酷的人机界面了? 还非得用linux? 弄个M4或M7的处理器, 跑实时操作系统+嵌入式的GUI就够了 ...
好的UI对一个产品的成功来说是决定性的,当然如果产品的技术牛逼到全世界独此一家,那UI就无所谓了,装几个机械旋钮和拨动开关都成。 ALUMEI 发表于 2016-1-22 10:28
打印机需要用到网络。m4 m7都不合适。linux在gui网络上很成熟,基于此,linux会比较合适。 ...
开源的linux做不到实时,实时的linux貌似都要收费。原来我们用DM6446觉得ARM+DSP挺美好的,RBL/UBL/U-boot/kernel/文件系统/驱动/应用程序,一路搞下来一年半终于搞定,勉强做到5ms的图像采集(图像比较小)。同一个平台做另外一个应用做不到实时,加了片STM32F103。后来新的系统还是换了方案,DSP+STM32F407。总之要实时还是用实时操作系统或裸奔。以太网也不是大问题,大不了买别人移植好的。楼上有人说的AM335x可以了解一下,我没有用过,也不知道那个PRU好不好用。 meiko 发表于 2016-1-22 11:22
好的UI对一个产品的成功来说是决定性的,当然如果产品的技术牛逼到全世界独此一家,那UI就无所谓了,装几 ...
刚给公司买的brother打印扫描传真复印一体机,支持网络打印,自动双面打印。人家也就两行字符的液晶。功能好用、稳定不出问题是第一重要的。 我之前的理解都是错误的,A8这种通用应用处理器在IO处理上无法做到实时,这和其内部的L1,L2,L3,L4级管道有关,关于这个问题可参考TI的这个文档:http://www.ti.com/lit/wp/spry264/spry264.pdf meiko 发表于 2016-1-28 21:42
我之前的理解都是错误的,A8这种通用应用处理器在IO处理上无法做到实时,这和其内部的L1,L2,L3,L4级管道 ...
TLB里面把cache配置为Deve型,或者strongly order 可以避免cache问题,
构架不是问题会用就行 用飞思卡尔的imx6是a9+cortexm4的 实时的功能交给PRU,一点问题也没有 windrarara 发表于 2016-1-29 09:50
实时的功能交给PRU,一点问题也没有
我简单搜了下,PRU不是用来实现各种串口(EtherCAT®、PROFIBUS、PROFINET、EtherNet/IP™)的吗??跟实时的功能有什么关系??
难道PRU是类似Cortex-M那样的单片机,可用C语言写在它上面运行的程序??
页:
[1]