随着社会的发展,科技的进步,供不应求的物质时代,效率、速度是社会进步的基本要求,工作效率包含了由传统的手工业转变为机器操作的智能工业,身为嵌入式软件工程师的我,经历了51单片机、STM32的开发经历,由于产品应用的复杂性及其代码的复杂性,频率较低且不能满足应用速度,所以需要需要一款高端的处理器满足产品应用的复杂性,做为工程师的我,喜欢在一些电子网站浏览一些高科技的产品,最近幸运的成为TL335X的免费使用者,TL335X-EVM评估板是有“广州创龙电子科技有限公司”提供的一款开发板。
首先介绍以下TL335的硬件资源:
1、TLL335是ARM cortex-A8,主频800M/1G的高性能处理器
2、ROM:256/512M Byte NAND FLASH或4/8G Byte emmc.所以用分时监控存储视频都可以满足
3、RAM:256/512M Byte ddr3,内存运行速度快
4、包括 UART、Ethernet、can、等丰富的外围高速通信接口,完全可以满足一些高端产品的应用需求
经过几天的了解学习,分享一下几点心得,供大家参考:
本人是从事工业控制产品的软件开发者,主要是用我们的产品控制逻辑较为复杂的加工生产切割设备。
一、项目要求:
1、要求有开关检测输入信号。
2、控制继电器输出设备。
3、控制四个步进电机运转。
4、通过USB接口读取U盘CSV格式的数据并填写到产品设备中。
5、通过Can接口实现高速度通信传输管理从设备。
6、SPI通信及内存管理分配。
7、链表数据打印功能
二、打印调试代码部分
- /*************************************************/
- /** 走空纸走多少步 **/
- /*************************************************/
- void
- PrintEmptyLine(uint8_t line)
- {
- uint8_t i, c1;
- PRT_STB_LO();
- for (c1 = 0; c1 < line; c1++)
- {
- if (print_check_paper())
- {
- PRT_STB_LO();
- PRT_PWR_LO();
- print_exit();
- return ; //没有纸不加热
- }
- for(i = 0; i < 8; ++i)
- {
- print_start_motor(2000);
- }
- }
- }
[color=rgb(51, 102, 153) !important]复制代码
/*************************************************/
/** 边走纸边加热 **/
/** 加热的同时把下组要加热的数据算好 **/
/*************************************************/
void
printfont(uint8_t hight)
{
int i, k, step;
for(step = 0; step < hight; ++step)
{
if (print_check_paper())
{
print_exit();
return ;
}
#ifdef CONFIG_PRINT_PT487P
for (i = 0; i < 24; ++i)
{
print_tx(0);
}
for (i = 0; i < 24; ++i)
{
print_tx(databuffer[step * 48 + i]);
}
#else
for (i = 0; i < 48; ++i)
{
print_tx(databuffer[step * 48 + i]);
}
#endif
// 锁存数据
PRT_LAT_LO();
PRT_LAT_LO();
PRT_LAT_HI();
// 打开加热
PRT_STB_HI();
#ifdef CONFIG_PRINT_PT487P
print_start_motor(2200);
print_start_motor(2300);
print_start_motor(2500);
print_start_motor(2200);
// 少走两行,字体好看些
print_start_motor(2300);
print_start_motor(2500);
//print_start_motor(2000);
//print_start_motor(2000);
// 关闭加热
PRT_STB_LO();
#else
print_start_motor(2000);
print_start_motor(2000);
// 关闭加热
PRT_STB_LO();
print_start_motor(2000);
print_start_motor(2000);
#endif
}
WatchdogKick();
}
以上代码实现的是热敏打印功能
三、并具有丰富的内部硬件资源,兼容LINUX、WINCE、等操作系统
我移植的是linux操作系统,也是工业常用的一种分时操作系统,驱动移植简单,容易上手。
以上是我的应用,由于时间的原因,后续继续使用,分享产品开发乐趣
|