公司新闻

当前位置:主页 > 打样机资讯 > 公司新闻 >

纸箱打样机的嵌入式软件开发

作者: http://www.xaogw.com 时间:2018-02-07 来源:http://www.xaogw.com/
摘要:以开发纸箱打样机四轴数控嵌入式软件为设计目标,在ARM主控板和DSP通用控制- 双CPU模式的硬件结构上,搭建以UC/OS-II为操作系统的软件开发平台,并在此平台上设计纸箱打样机控制系统...

以开发纸箱打样机四轴数控嵌入式软件为设计目标,在ARM主控板和DSP通用控制- 双CPU模式的硬件结构上,搭建以UC/OS-II为操作系统的软件开发平台,并在此平台上设计纸箱打样机控制系统的启动代码以及串口驱动程序。纸箱打样机的文件系统、人机界面以及基于Modbus协议的 串口通讯等应用程序设计是本文设计的重点,实现了对加工数据的文件管理。给纸箱打样机提供一个 友好可定制的人机界面,缩短了开发周期,方便产品升级。
1.引言
随着经济的不断发展,零售市场上产品的包装显得越来越 重要,中国是最大的包装产品市场,所以纸箱打样机在国内有很 大的市场份额。目前国外纸箱打样机价格昂贵而且维护费用高, 很难普及国内市场。国内目前开发的纸箱打样机多是采用PC 机+专用运动控制卡的结构模式,自动化水平比较低,加工速度和 精度都远不及国外产品。开发出高速度高精度的纸箱打样机数控 嵌入式系统,对于提高我国中高档运动控制系统的技术水平、缩 短与国外同类产品的差距,具有十分重要的意义。由于操作系统 具有可裁剪、可扩展、可移植等特点,可方便进行软件升级,在工 业设备上具有推广的应用价值。
2.系统硬件结构
纸箱打样机选择ARM板+DSP运动控制器作为系统的主从 控制器,eView液晶触摸屏模块作为输入/输出设备。各个模块之 间采用串口发送数据的方式进行通信,系统硬件的整体结构,如 图1所示。

S3C44B0X微处理器主要是负责人机接口、通信、数据处理 等工作。该芯片功能强大,它使用ARM7TDMI核,并在此基础上 增加了丰富的外围功能模块,便于低成本设计嵌入式应用系统。
DSP运动控制器是纸箱打样机嵌入式系统的核心子系统一控制 子系统,DSP运动控制器主芯片为32位定点DSP芯片 TMS320F2812。这款芯片是由DSP系列芯片TMS320F240xA发 展而来,DSP片内外设事件管理器可产生用于驱动绝大多数电动 机的PWM脉冲信号eView液晶触摸屏作为一种新型的人机界 面,它简单易用,强大的功能以及优异的稳定性使其成为现代工 业必不可少的设备之一。
3.系统软件平台
纸箱打样机嵌入式系统软件平台,是系统应用软件与硬件 平台的桥梁,系统应用软件通过各外围模块驱动程序接口函数来 操作硬件。同时,它又是系统应用软件的控制调度中心。纸箱打样 机嵌入式系统软件平台主要包括xC/OS-II的移植以及测试,系 统引导代码的设计,外围设备驱动程序的设计,各个任务之间的调度等等,该软件平台构建的流程,如图2所示。

3.1移植MC/OS-丨丨与测试代码
移植pC/OS-II只需要修改与处理器相关的代码。它主要包 含在 3 个文件:OS_CPU.H、OS_CPU_A.ASM 以及 OS_CPU_C.C。 当用户为自己的处理器做完pC/OS-II的移植后,紧接着的工作 就是验证移植的pC/OS-II是否正常工作,而这个可能是移植中 最复杂的一步。应该首先不加任何应用代码来测试移植好的pC/ OS-II,也就是说,应该首先测试内核自身的运行状况。可以使用 各种不同的技术测试自己的移植工作,取决于用户个人在嵌入式 系统方面的经验和对处理器的理解。这里通过4个步骤测试移植 代码:
(1)确保C编译器、汇编编译器及链接器正常工作;(2)验证 OSTaskStkInit0 和 OSStartHighRdy 0 函数;(3)验证 OSCtxSwO 函 数;⑷验证 OSIntCtxSwO 和 OSTickISRO 函数。
3.2引导系统代码
引导系统代码是芯片复位后运行在C语言mainO函数之前 的代码,主要用来初始化系统,为后面的程序提供运行环境。在嵌 入式系统中,一般都将程序(操作系统及应用程序)文件固化于程 序存储器,在系统启动时,引导系统程序将其调入内存。通常采用 的解决方法:在程序存储器内固化一个系统引导程序,系统上电 启动后由引导程序将系统运行程序复制到内存中,而后引导程序 自动将程序运行指针指向内存首地址,使得系统能够正常快速地 运行起来。
基于ARMTTOMI的S3C44B0X主控板,引导代码的具体实现如下:
void LoadRun (void)
{
uint32 *cp1,*cp2;
cp1 = (uint32 *) 0x10000; //系统运行程序存储地址 cp2 = (uint32 *) 0x0c000000; //内存首地址 while (cp1 < (uint32 *) 0x200000) //程序上限 2MB {
*cp2++=*cp1++;
}
StartApp () ; //运行系统运行程序
}
3.3串口驱动
S3C44B0X的两个串口都得到了应用,串口 1用于与DSP 运动控制板连接,实现指令数据之间的通信;串口 2则用来连接 eView液晶触摸屏模块,接收按键数据信息与发送一些数据参数 信息’是实现人机交互的桥梁。两个串口的数据接收/发送均是通 过中断方式来实现的,为了保证加工文件的正确性,必须要保证 图形文件指令在传输的过程中不出现丢失数据等错误,所以设置 串口1中断的优先级是最高的。
以下为串口1接收中断服务程序代码: void UART1_Rec_Exception (void) //串口 1 接收中断 {
OS_ENTER_CRITICAL) ; //通知内核进入中断 rI_ISPC=BIT_URXD1; //从端口读取数据 if ( (rUTRSTAT1 & 0x00000001) == 1) //如果有数据 {
Buf[End++] = rURXH 1 ; //读入缓存 if (End >= BUF_SIZE)
{
End = 0;
}
}
OS_EXIT_CRITICAL0 ; //通知内核结束中断 }
4.应用程序设计
纸箱打样机主要应用程序设计包括:基于ARM的文件系统 的实现和操作,人机交互界面的定制以及各个模块之间的信息交 互的实现。各个模块间的通信采用的是串口一对一的方式。
4.1文件系统
纸箱打样机嵌入式系统中采用NAND Flash存储器 K9F2808U0C (16M)用于存储系统参数和加工数据文件。 K9F2808U0C为三星公司的一款容量为16M的NAND Flash存 储器,它有1024个块(block),每块有32页(page),每页有528个 字节。它的读写有其自身特点:⑴必须以页为单位进行读写;(2) 写之前必须先擦除原有内容;⑶擦除操作必须对块进行,即一次 至少擦除一个块的内容[51。K9F2808U0C格式化后分为5个区域: 保留区、文件分配表区、文件分配表区备份、目录区以及数据区。

文件系统整体的结构框架,如图3所示。(注:箭头表示正常 的调用关系)。应用程序是用户自己编写的程序,是文件系统的使用者,位于整个程序的最高层。应用程序调用文件系统提供的函 数(APD对文件和目录进行相应的操作。K9F2808U0C的驱动程 序,实际上就是文件系统的访问。
在设计的底层驱动程序为上层用户程序提供了与设备无关 的接口,其主要的程序代码如下:
uint16 NAND_FFS (uint8 Command,void ^Parameter)
{
Dp = (Disk_RW一Parameter *) Parameter;
Disk = (FFSDisk *) Dp->RsvdForLow; switch (Command)
{
case DISK_INIT: //初始化 rt = FFSDiskInit ①isk); break;
case DISK_CLOSE: //关闭 rt = FFSDiskClose ①isk); break;
case DISK_READ_SECTOR://读扇区
rt = FFSDiskRead (Disk,Dp->Buf,Dp->SectorIndex);
break;
case DISK_WRITE_SECTOR: //写扇区
rt = FFSDiskWrite ①isk,Dp->Buf,Dp->SectorIndex);
break;
default:
rt = BAD_DISK_COMMAND; break;
}
return rt;
}
驱动程序仅有一个简单的接口函数。有两个参数,第一个参 数Command为请求的操作,第二个参数为Parameter,虽然被定 义为无类型指针,但实际指向一个结构体。
4.2人机界面
人机界面为用户提供与数控系统交互的环境。用户在人机 界面中输入要操作执行的命令,这些命令传送到任务控制器,进 而使控制器执行相关动作。在操作过程中,对应的屏幕之间进行 切换或者控制器将控制执行的结果反馈给界面,界面主要包含4 个功能:加工文件的选择及查看功能;建立新的加工文件并进行 保存;对刀具加工的测试;纸箱打样机的参数设置。启动界面显示 纸箱打样机上电后进行引导程序的加载信息,进而进入到主界 面。如图4所示。


4.3 ARM主控板与eView模块通信实现
ARM主控板与eView液晶触摸屏模块之间的通信为串口 通信方式,选择工业上常用的Modbus协议。eView液晶触摸屏 模块作为主机通过串口发送命令给从机ARM板,ARM板又通过 串口再将相关的命令发送到DSP运动控制器上。微处理器 S3C44B0X通讯端口的通讯协议采用Modbus RTU模式,串口采 用一对一接线方式。其传送的数据格式为:地址+功能代码+数据 量+数据+CRC校验。
Modbus协议可能的功能代码范围是十进制的1~255,其中 有些代码适用于所有的控制器,有些是针对某种MODICON控制 器,有些则是为用户保留或备用。开发的Modbus通讯软件支持 其中的(01~06)和15、6代码,其功能代码,如表1所示。

5.结语
结合嵌入式发展技术的应用,纸箱打样机的总体结构采用 ARM主控板和DSP通用控制器双CPU模式,人机界面硬件采用 MT500系列触摸屏模块。该嵌入式软件在构建软件操作平台^C/ OS-II的基础上测试了移植的正确性,开发出系统的引导代码以 及外围功能模块串口驱动的实现。研究FAT文件系统以及 NAND Flash存储特点’设计K9F2808U0C底层驱动’实现了对文 件的管理。通过人机界面的需求分析,将机器的相关参数定制在 eView液晶触摸屏上,方便在加工过程中对机器的调试,保证样 品质量。开发出基于Modbus协议的通信软件,实现了 eView液 晶模块与 ARM 主控板之间的信息交互。
 
 
 

打样机资讯

联系我们
Contact
联系我们
我们很想听到您的声音

联系电话:18701971713

公司传真:021-57893271

手机号码:18701971713

客服QQ:729494254

Email:729494254@qq.com

地址:上海市松江科技园区光华路279号

[向上] 
在线客服

在线咨询

在线咨询

在线咨询

咨询电话:
18701971713
二维码

官方微信扫一扫