基于ARM嵌入式技术的牙椅控制系统

发布者:tnzph488最新更新时间:2012-11-24 来源: 21ic 关键字: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 系统的软件设计

[page]

  考虑到系统将来可扩展图像采集功能和复杂的人机界面等因素,在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 指示灯任务,报警信息任务和冲洗痰盂任务。  

程序

 

  然后,用OSTaskCreate( )函数建立7 个任务。最后,在起始任务中将它本身删除掉。

  (1) 键盘任务:调用OSSemPend(Sem_Keyboard,0,&err)来获得信号量。获得信号量后,任务将调用邮箱发送消息任务OSMboxPost (OS_EVENT*pevent,void*msg)唤醒相应的其它任务。

  (2) 茶杯给水任务:向茶杯中加水。该任务通过OSMboxPost(Mbox_Cup,Msg_Cup)被唤醒。

  (3) 茶杯给水定时设置任务:设置茶杯给水定时时间。该任务通过OSMboxPost(Mbox_CupSetting,Msg_CupSetting)被唤醒。

  (4) 报警信息任务:牙椅运动到达障碍位置报警等的报警信息,并进行相应的处理。该任务调用OSSemPend(Sem_AlARMTask,0,&err)获得信号量。

  (5) 冲洗痰盂任务:冲洗痰盂。该任务通过OSMboxPost (Mbox_Ty,Msg_Ty 被唤醒。

  (6) LED 灯指示任务:通过动态扫描方式点亮相应的键盘指示灯来指示当前的系统工作状态。该任务通过OSMboxPost (Mbox_LED,Msg_LED)被唤醒。

  (7) 无影灯任务:开关及连续调节无影灯亮度。

  该任务通过OSMboxPost(Mbox_Move,Msg_Move)被唤醒。

  在系统中,设置任务1 的优先级最高,依次为任务2、任务3 至任务6,程序流程如图3所示。

  

程序流程

 

  在上述任务中,CPU 主要是接受键盘的输入以唤醒其它相应任务,另外还有相应的记录位置的任务和与上位机通信的任务,这里不再做详细介绍。

  3 控制系统调试结果

  长时间口腔诊疗应用调试运行,本牙椅控制系统能够及时响应输入并按要求运动,返回的记忆位置误差控制在1mm 内,茶杯水位误差不超过2mm,运行结果表明,控制系统与上位机的通信及两CPU 之间通信实时性、可靠性均满足设计要求,且整个系统运行平稳可靠,便于调试和维护,提高了牙椅自动化水平和档次。

  4 结语

  本文采用嵌入式处理器和实时多任务操作系统增强了系统的功能,提高了系统的可靠性、实时性并使系统具有良好的可扩展性,便于后续扩展图像采集和人机界面功能,为进一步开发高端产品奠定基础。

关键字:ARM  嵌入式技术  牙椅控制系统 引用地址:基于ARM嵌入式技术的牙椅控制系统

上一篇:基于STM32F417的图像采集系统设计
下一篇:决定ARM内核MCU性能和功耗主要因素浅析

推荐阅读最新更新时间:2024-03-16 13:13

基于ARM的非特定人语音识别系统电路设计
  非特定人语音识别技术研究的最终目的是让计算机等设备能够“听懂”人类语音,提取出语音中所包含的特定信息,成为人机通信和交互最便捷的手段。由于语音信号本身具有不确定性、动态性和连续性,这就为准确量化和处理该信号带来非常大的困难,每个人的语音要建立不同的语音样本也为识别的普及带来瓶颈约束。目前的语音识别是先建立特征库然后将待识别的信号经处理与特征库比对得到相似结果判定输出。从本质上属于基于统计模式的基本理论,分语言模型训练、识别分析两个大阶段构成和实现。   系统设计的整体结构   系统以STM32F103C8T6 微控制器为控制核心,搭配微控制器最小核心电路、LD3320语音识别电路、SD卡电路、电源电路、用户按键输入电路、串
[单片机]
基于<font color='red'>ARM</font>的非特定人语音识别系统电路设计
基于ARM9的嵌入式网关的研究
   摘 要: 介绍了一种基于ARM9的嵌入式以太网的设计方案。基于ARM内核微处理器S3C2410的功能特点及其外扩组成部分,分析了以太网控制器芯片RTL8019AS的性能以及与S3C2410的接口。在软件设计上,分析了BootLoader的作用,介绍了Linux的移植,并给出了通信程序的流程图,实现了嵌入式以太网的数据传输。    引 言   无所不在的网络给网络接入设备带来了巨大的发展机遇。而随着网络接入市场的迅速增长,嵌入式网络接入开始成为嵌入式系统技术中最令人关注的一个领域。在嵌入式网络技术的推动下将会形成这样一个局面:在网络上传输的信息中,将有70%的信息来自嵌入式系统,也许将有数以亿计的汽车、通信设备、家用电气以
[嵌入式]
基于ARM的太阳能发电控制系统的设计与实现
  目前,我国国内太阳能自动跟踪器主要有:压差式太阳能跟踪器,控放式太阳跟踪,时钟式太阳跟踪器,比较控制式太阳跟踪器。纯机械式的跟踪器和时钟式的机电跟踪器精度偏低,本系统采用了精度相对较高的光敏电阻控制的双轴太阳跟踪器的控制方式使光伏电池始终朝向太阳;在天黑后,能够使电池板重新朝向东方,实现日循环运行。     太阳能发电控制系统     传感器结构   该跟踪器的传感器结构见图1。设置一个圆筒形外壳,在圆筒外部东、南、西、北四个方向上分别布置4 只光敏电阻;其中P1、P3 东西对称安装在圆筒的两侧,用来粗略的检测太阳由东往西运动的偏转角度即方位角;P2、P4 南北对称安装在圆筒的两侧,用来粗略检测太阳的视高度即高度角;在
[电源管理]
基于<font color='red'>ARM</font>的太阳能发电<font color='red'>控制系统</font>的设计与实现
Arm Linux 内核页表的段式映射
Linux启动之初,内核为自己建立的是段式内存映射,而不是页式映射。 映射表(PGD)从虚拟地址0xc0004000开始,每项4字节,每项对应1M内存空间,每项的高12位就是这1M内存的高12位地址。 一开始,内核不会为所有内存建立映射,只会映射必要的一部分,这部分代码在arch/arm/kernel/head.S中由汇编代码完成。 以S3C6410为例,下面是在刚刚进入start_kernel()后打印出来的一段内核映射表。注意内核自身的映射表项是从0xc0007000地址开始。因为从0xc0004000开始的是整个4G空间的表,内核内存只占最高的那1G,所以要加一个偏移量:3G/1M * 4bytes = 0x3000。
[单片机]
TI Sitara AM335x ARM Cortex-A8 处理器支持Arduino
日前,德州仪器 (TI) 宣布 Sitara™ AM335x ARM® Cortex™-A8 处理器已被选用于最新 Arduino 电路板 ArduinoTRE。TI 1 GHz Sitara AM335x 处理器可为 ArduinoTRE 提供比 Arduino Leonardo 或 Uno 高 100 倍的性能。Arduino 用户不但可首次使用 Linux 的完整功能,而且还可获得各种最新板载连接选项,可在充分发挥 Arduino 软件简易性优势的同时,开发功能强大的高级应用。基于 Sitara 处理器的 ArduinoTRE 可作为网络集线器连接数百万经典 Arduino 节点,从而帮助客户始终处于物联网时代的最前沿。
[单片机]
ARM·存储器配置
关于配置SDRAM的这个程序,因为研究了2天,所以这里最后再复习一下 首先补充一下基本的知识: 运行地址- 链接地址 在SRAM或者SDRAM中执行程序时,PC指向这个地址,那么命令就应该在这个地址里面 ; 加载地址- 存储地址 程序保存在NAND FLSAH中的地址 位置无关码:B,BL,MOV 位置有关码:LDR PC,=Label 【关于Makefile】 sdram.bin : head.S leds.c arm-linux-gcc -c -o head.o head.S arm-linux-gcc -c -o leds.o leds.c arm-linux-l
[单片机]
ARM MPCore -- (2)
1. NOP NOP不一定会占用CPU执行时间,可能在执行该指令前,CPU已将其从管道中移除。 可以用NOP进行填充,使后续指令处于64bit边界上。 2. SEV 向所有CPU Core发送事件信息。 3. WFE (Wait For Event) 如果未设置事件寄存器,则 WFE 会暂时中断挂起执行,直至发生任一以下事件后再恢复执行: (1)发生 IRQ 中断,除非被 CPSR I 位屏蔽 (2)发生 FIQ 中断,除非被 CPSR F 位屏蔽 (3)发生不精确的数据中止,除非被 CPSR A 位屏蔽 (4)出现调试进入请求(需启用调试) (5)另一个处理器利用 SEV 指令向事
[单片机]
Arm Neoverse正在成为数据中心的新势力
Arm在拥有手机和物联网设备的通用计算能力后,其下一步行动目前尚不明朗。尽管x86巨头在数据中心占据主导地位,但Arm和RISC-V之间在小型平台上的竞争已初露端倪。然而,Arm一直在积极拓展其业务,向上发展至基础设施领域,包括云计算、有线和无线通信,甚至延伸到网关和边缘设备。起初,他们的步伐是稳健的,但最近他们更积极地寻求取代主流处理器和FPGA,成为以AI为中心的GPU的前端,广泛应用于超大规模扩展、DPU、电信公司的网关和无线基带,以及汽车等边缘应用领域。在我看来,这是对支撑我们所有电子技术的快速增长和高价值基础设施的一次重要而未被充分认识的布局。 Arm的Neoverse系列在基础设施领域持续占据一席之地。以英伟达的超
[嵌入式]
<font color='red'>Arm</font> Neoverse正在成为数据中心的新势力
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
  • 学习ARM开发(16)
    ARM有很多东西要学习,那么中断,就肯定是需要学习的东西。自从CPU引入中断以来,才真正地进入多任务系统工作,并且大大提高了工作效率。采 ...
  • 学习ARM开发(17)
    因为嵌入式系统里全部要使用中断的,那么我的S3C44B0怎么样中断流程呢?那我就需要了解整个流程了。要深入了解,最好的方法,就是去写程序 ...
  • 学习ARM开发(18)
    上一次已经了解ARM的中断处理过程,并且可以设置中断函数,那么它这样就可以工作了吗?答案是否定的。因为S3C44B0还有好几个寄存器是控制中 ...
  • 嵌入式系统调试仿真工具
    嵌入式硬件系统设计出来后就要进行调试,不管是硬件调试还是软件调试或者程序固化,都需要用到调试仿真工具。 随着处理器新品种、新 ...
  • 最近困扰在心中的一个小疑问终于解惑了~~
    最近在驱动方面一直在概念上不能很好的理解 有时候结合别人写的一点usb的例子能有点感觉,但是因为arm体系里面没有像单片机那样直接讲解引脚 ...
  • 学习ARM开发(1)
  • 学习ARM开发(2)
  • 学习ARM开发(4)
  • 学习ARM开发(6)
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved