基于ARM的嵌入式牙椅控制系统设计
1 引言
随着人们对口腔健康的日益重视,开发适合国情的高端一体化口腔诊疗系统显得尤为必要。牙椅控制器是一体化口腔诊疗系统的核心,其设计水平反映了整个系统的自动化程度,也是判定牙椅档次的一个重要依据。
本文研究开发了基于ARM嵌入式技术的牙椅控制系统。在控制系统中应用嵌入式操作系统,利用多任务管理、任务间同步与通信等功能,可更进一步提高系统可靠性和实时性,增强智能控制和管理水平。
2 整体功能概述
系统整体框图如图1 所示。牙椅控制系统设计必须满足医疗需求并方便使用操作。高档牙椅在实际工作中除了要满足上下仰卧四个基本方向的运动,同时还必须能够完成茶杯给水、冲洗痰盂、无影灯调控、位置数据采集、X 光透射、及与上位机通信功能,还要保证运动的平稳可靠和数据传输的实时性。牙椅控制系统CPU 响应外接键盘输入,执行相应的命令,驱动外部的液压传动机构实现牙椅的运动和其他外部设备的工作。
由于牙椅控制系统的控制点较多,且集中于器械盘面板和牙椅底座两个地方,因此本文将牙椅控制系统主要分为三大模块:面板控制模块、底座控制模块、供电模块。
2.1 系统的硬件设计
基于芯片性能、功耗、系统需求等多方面的要求,本系统采用S3C44B0X芯片与ATmega16 芯片构成双CPU 模块进行协同控制。S3C44B0X 是Samsung 公司生产的16/32 位RISC 处理器,其总线结构采用三星ARM CPU 嵌入式微处理器总线结构。S3C44B0X提供了全面的、通用的片上外设,包括1 个LCD 控制器、5 个PWM 通道的定时器和1 通道内部定时器、71 个通用I/O 口和8 通道外部中断源、8 通道10 位的ADC、SPI 同步数据通信串行ARM 嵌入式牙椅控制系统接口等,具有良好的可扩展性,作为牙椅系统的主处理器。
ATmega16 是增强的AVR RISC 结构的低功耗8位CMOS 微控制器,内部资源丰富,具有32 路可编程I/O 口、512 字节的EEPROM、四通道的PWM 输出、8 路10 位ADC 转换通道和3 个内部定时器/计数器和SPI 同步数据通信串行口,作为牙椅系统的底座模块的核心和控制芯片,控制牙椅的移动和进行牙椅的位置数据采集。
牙椅控制系统的原理结构图如图2 所示。底座控制板CPU 外接一个3×2 脚踏键盘,CPU 接收键盘输入执行相应的命令,并控制底座模块上的各液压传动控制继电器的通断,控制牙椅向上下仰卧四个方向、漱口位置和就诊位置运动。考虑到使用者的安全和牙椅设备的稳定可靠问题,在运动过程中CPU 必须对四个方向的限位开关和底座障碍物保护开关的反馈信息进行实时监控并做出相应的保护动作。
为达到方便使用的目的,面板控制模块同样也要能够控制牙椅的上述运动并实时记忆牙椅的位置,因此系统要实现底座板和面板的实时通信。结合CPU芯片的特点和实际需求两者采用串行外设接口(SPI)进行高速数据同步传输。面板CPU 可接收外部扩展键盘的输入来执行响应的命令,并预留了扩展接口。
由于外部设备对于CPU 来说都属于强电控制部分,为了使两者之间既保持控制信号联系,又要避免电气干扰,即实行弱电和强电隔离,面板控制模块增加了光电隔离电路。无影灯的亮度数字调节设计采用了PWM 方式。S3C44B0X 有5 个定时器可以提供PWM输出。由于系统使用的无影灯额定功率为50W,额定电压为12V,属于大电流工作,为了保证无影灯的调节精度,在控制电路上采用场效应管IRF540 与光电隔离电路配合控制。
2.2 系统的软件设计考虑到系统将来可扩展图像采集功能和复杂的人机界面等因素,在S3C44B0X 上移植了μC/OS-II操作系统。μC/OS-II 是目前流行的免费公开源代码的实时操作系统。它不仅具有结构小巧、可固化、可裁剪、多任务和可剥夺型的实时内核等特点,其实时性、稳定性和可靠性也得到了广泛认可。μC/OS-II 的最小内核可编译至1.5KB,可广泛应用于从8 位到64 位单片机的各种不同类型、不同规模的嵌入式系统。在内存使用方面,μC/OS-II 是可裁剪的实时内核,在应用中需要调度的任务越多,需要的RAM 空间越大。
以运行20 个任务进行估算,μC/OS-II 内核占用不到2KB 的RAM 空间,可以使用20 个信号量、邮箱等来完成任务间的同步与通信。
系统以S3C44B0X 的T0 定时器作为操作系统的时钟源,中断频率为10ms。系统每隔10ms 就调用一下键盘查询程序以实时响应键盘事件,串口和CPU之间的SPI 通信采用中断方式接收和发送。任何时候只要没有关中断,中断的执行就高于任何任务以保证通信的实时性。根据控制系统的工作要求,任务可划分为键盘任务,茶杯给水任务,茶杯给水定时设置任务,无影灯任务,LED 指
S3C44B0X Atmega16 嵌入式处理器 牙椅控制系统 相关文章:
- U-Boot的编译与移植到QT-S3C44B0X开发板上(03-08)
- ARM S3C44B0X 之 看门狗定时器(11-20)
- S3C44B0X烧写flash 的经验(11-11)
- Flash与S3C44B0X连接时地址线为什么要偏移一位(11-11)
- uClinux在S3C44B0X上的移植(11-10)
- μC/OS-Ⅱ在ARM单片机S3C44B0x上的移植(10-31)