首页 | 新闻 | 新品 | 文库 | 方案 | 视频 | 下载 | 商城 | 开发板 | 数据中心 | 座谈新版 | 培训 | 工具 | 博客 | 论坛 | 百科 | GEC | 活动 | 主题月 | 电子展
返回列表 回复 发帖

基于ARM和μC/OS-II的人造提花毛皮机控制系统 02

基于ARM和μC/OS-II的人造提花毛皮机控制系统 02

3.2 USB接口模块

本系统采用USB接口技术,选用USB控制器SL811HS。SL811HS是Cypress公司可支持全速数据传输的USB控制器,可作为USB主机或作为设备的接口控制器:提供全速和低速两种USB总线速率:片上集成有SIE、单端口Hub、USB收发器以及256 Byte的RAM:3.3 V的工作电压;硬件自动产生帧起始包SOF和CRC5/16校验。采用S3C44BOX的nGCS5选通USB控制器SL811HS。SL811HS的其他信号线与S3C344BOX的引脚对应相连。CPU可从外部U盘提取花型数据,具有即插即用功能,取代了传统提花机中的串口通信模块。USB接口硬件电路图如图3所示。

3.3 键盘及LCD显示模块

本系统采用TLC-VCT256/14G型控制器,可控制640×480点阵彩色TFT液晶显示屏,显示256种颜色,实时效果好,CPU能随时写入显示存储器而不影响显示效果。
4 系统软件设计

软件设计是指在μC/OS-II的支撑平台上设计各硬件模块电路的驱动程序,创建和启动多项任务,创建消息邮箱完成各任务间的通信,从而控制整个提花过程。

4.1 主程序设计

程序启动后,跳转至主函数开始执行,调用函数ARMT argetInit()初始化ARM系统,包括:建立相关参数和变量,配置arm处理器中断端口,设置中断,并初始化各个器件等。调用函数OSInit()初始化μC/OS-II操作系统。 调用函数OSTask Create
(Main_Task,(void*)0,(OS_STK*)&Main_Task_Stack[TASK_STACK_SIZE-1],Main_Task_PRIO),创建主任务,并在主任务中创建各分任务,完成整个系统控制。调用函数OSStait(),μC/OS-II开始运行,执行主任务。

4.2 各分任务设计

分任务设计包括USB接口、步进电机控制、选针器控制、D/A转换电路、键盘LCD显示等模块。由于各任务间不完全独立,因此要创建信号量、消息邮箱、消息队列来完成任务间通信,该操作通过调用OSSemCreate(),OSM-boxCreate(),OSQGreate()函数完成。键盘扫描图分任务函数为OSTask Create (Task KEY,(void*)0,(OS_STK*)&Task_KEY_Stack[TASK_STACK_SIZE-1],Task_KEY_PRIO)。创建其他任务函数,驱动对应硬件。而步进电机控制模块、选针器控制模块、D/A转换电路模块则延用传统提花机设计,在此不做介绍,以下主要介绍改进的键盘LCD显示和USB接口模块。
返回列表