基于三星S3C2410的ARM-Linux电控油门设计
简介巡航控制系统(CCS)于1960年代开发,也被称为恒速驱动系统。
当巡航控制系统工作时,ECU根据各种传感器发送的信号判断汽车的运行状况,并通过执行器自动调节油门开度,以使汽车的行驶速度与行驶速度保持一致。
设定速度。
当汽车长时间在良好道路上行驶时,驾驶员会激活巡航控制系统并设置行驶速度,而无需驾驶员操作油门踏板,巡航控制系统就可以自动维持既定的行驶速度,不仅减少了驾驶员的劳动量,同时,它采用了先进的电子控制技术来控制节气门的开度,这比驾驶员操作节气门的精度更高。
车辆的燃油经济性和排放污染也可以得到改善。
图1中的“系统原理1.1”表示“系统原理1.1”。
当电子控制节气门原理工作时,驾驶员发出速度控制命令,节气门开度传感器收集发动机转速参数,并将信号输入电子控制单元;电子控制单元控制信号并反馈节气门。
比较阀位信号,并根据比较结果驱动执行器改变节气门的开度,使实际开度与控制开度,从而实现车速的自动控制。
1.2伺服控制原理steering转向器是位置(角度)伺服驱动器,适用于需要不断改变角度并能保持角度的系统。
S3003型伺服器有3个引脚,分别是电源Vcc,接地GND和控制线信号。
控制信号从信号通道进入信号调制芯片,以获得直流偏置电压[2]。
内部有一个基准电路,该电路产生一个周期为20 ms,宽度为1至5 ms的基准信号。
将获得的直流偏置电压与电位计的电压进行比较,以获得电压差输出。
最后,将电压差的正负输出到电动机驱动芯片,以确定电动机的正负旋转。
当电动机速度恒定时,电位器通过级联减速器旋转,电压差为0,电动机停止旋转。
控制线的输入是宽度可调的周期性方波脉冲信号,该方波脉冲信号的周期为20 ms(即频率为50 Hz)。
当方波的脉冲宽度改变时,转向器的角度改变,并且角度改变与脉冲宽度成比例。
输出轴角度与输入脉冲宽度之间的关系在图1中示出。
图1“转向器输出角度与输入脉冲宽度2之间的关系”在图1中示出。
系统设计本系统分别采用三星S3C2410和Futaba S3003转向器作为控制器和执行器,并采用Linux操作系统,实验平台为济南恒鑫有限公司发动机测试平台。
图2系统流程2.1系统设计流程flow系统流程如图2所示。
控制器S3C2410完成各种初始化任务,从操作员接收cmd指令,并根据cmd的值执行一系列处理,包括停止执行器和旋转角度。
然后,由节气门开度传感器和速度传感器计算等效cmd值,并将其与cmd进行比较,以决定是判断下一个cmd还是调整执行器的角度。
2.2设置Linux系统时钟频率electromagnetic为了减少电磁干扰和减少板间布线的要求,芯片外部的晶体振荡器的频率通常很低,并且通过时钟控制逻辑的PLL改善了系统时钟[3]。
三星的S3C2410A手册中列出了几种推荐的时钟频率。
这里我们选择输出时钟频率FCLK = 202? 80 MHz配置,即在PLL控制寄存器中:MDIV = 161(0xa1),PDIV = 3,SDIV = 1。
设置在UBoot的board / smdk2410 / smdk2410.c中:#define M_MDIV 0xA1 #define M_PDIV 0x3 #define M_SDIV 0x1 int board_init(void){int board_PLL(void){int board_PLL(void){? ﹤﹤ 12)+(M_PDIV ﹤﹤ 4)+ M_SDIV); & hellip;& hellip; }在UBoot的cpu / arm920t / start中设置FCLK,HCLK,PCLK的比率。
S::/ * FCLK = CLK:2:1 * / ldrr0,= CLKDIVN mov r1,#3 strr1,[r0]从上面的程序中,我们可以看到FCLK = 202.80 MHz,HCLK = 101-40 MHz,PCLK = 50.70 MHz和时钟