乐山师范学院 技术报告凯越08队
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第三届“飞思卡尔”杯
全国大学生智能汽车竞赛
技术报告
学 校: 乐山师范学院
队伍名称: 凯越08
参赛队员: 杨维国
胡遇春
廖艺苑
指导教师: 张自友 张九华
关于技术报告和研究论文使用授权的说明
本人完全了解第三届全国大学生“飞思卡尔”杯智能汽车竞赛关于保留、使用技术报告和研究论文的规定,即:参赛作品著作权归参赛者本人,比赛组委会和飞思卡尔半导体公司可以在相关主页上收录并公开参赛作品的设计方案、技术报告以及参赛模型车的视频、图像资料,并将相关内容编纂收录在组委会出版论文集中。
参赛队员签名:
带队教师签名:
日 期:
目录
第一章 引言 (1)
1.1概述 (1)
1.2文献综述 (1)
1.3本文结构 (2)
第二章 系统设计 (3)
2.1系统方案介绍 (3)
2.2系统总体结构 (3)
第三章 机械结构设计 (5)
3.1车模安装 (5)
3.2传感器的设计安装 (7)
3.2.1 传感器的选择 (7)
3.2.2 传感器的电路及其布局 (8)
3.2.3 传感器横向间隔距离 (9)
3.2.4 传感器纵向伸出长度 (9)
3.3电路板的设计安装 (10)
3.4模型车主要参数说明 (11)
第四章 电路设计 (13)
4.1电源模块设计 (13)
4.2电机驱动模块设计 (14)
4.3舵机驱动模块 (15)
4.4车速检测模块 (15)
4.5调试电路模块 (16)
第五章 软件系统设计 (18)
5.1HCS12控制软件主要理论 (18)
5.2软件系统总体设计 (18)
5.3软件各功能模块设计 (21)
5.3.1 时钟模块 (21)
5.3.2 PWM输出模块 (21)
5.3.3 ECT模块 (23)
5.3.4 AD转换模块 (23)
5.4路径识别与算法 (24)
5.4.1 二值化算法 (24)
5.4.2 黑色中心检测算法 (25)
5.4.3起跑线检测 (26)
5.5系统控制 (28)
5.5.1 小车转向角控制 (29)
5.5.2 小车速度控制 (31)
5.6系统控制策略 (33)
5.6.1 提前转向 (33)
5.6.2 弯道刹车 (33)
5.5.3 直道限速 (34)
5.5.4 软件滤波 (34)
5.6程序算法 (36)
5.6.1 二维PID模糊控制 (36)
5.6.2 记忆算法 (39)
第六章 开发制作与调试 (43)
6.1开发工具 (43)
6.1.1 软件开发平台 (43)
6.2系统调试 (45)
6.2.1 硬件调试 (45)
6.2.2 软件调试 (46)
第七章 结论 (48)
7.1模型车主要技术参数说明 (48)
7.2总结 (48)
7.2.1 智能车的制作 (48)
7.2.2 开发所遇到的问题和解决方案 (49)
7.2.3 存在问题 (49)
7.2.4 心得体会 (49)
参考文献: (51)
附件:程序源代码 (I)
第一章 引言
1.1 概述
教育部为了加强大学生实践、创新能力和团队精神的培养,在已举办全国大学生数学建模、电子设计、机械设计、结构设计等4项竞赛的基础上,经研究决定,委托教育部高等学校自动化专业教学指导分委会主办每年一度的全国大学生智能汽车竞赛。
智能汽车竞赛所使用的车模是一款带有差速器的后轮驱动模型车,由组委会统一提供。
比赛跑道为表面白色,中心有连续黑线作为引导线,黑线宽为25cm。
比赛规则限定了跑道宽度60cm和拐角最小半径50cm,赛道具体形状在比赛当天现场公布。
各参赛队伍在严格遵守比赛规则的条件下,在车模前面安装光电传感器或CCD,并设计了电机驱动、转向舵机控制以及控制算法,以简洁但功能完美为出发点,以稳定为首要条件,以追求在最短的时间内跑完全程,并能检测赛道的起跑线,能够在完成比赛之后自动停止在起跑线3m范围之内。
1.2 文献综述
本次比赛所涉及到的知识广泛,通过智能车官方网站和上届师兄的介绍,我们对所阅读的文献进行了一下总结,将文献中所受到的启发进行了以下重点总结。
S12单片机开发资料
从Freescale公司官方网站,下载得到S12单片机开发技术手册。
仔细阅读各个功能模块文件,了解所有寄存器功能。
配合比赛组委会发送的《单片机嵌入式应用的在线开发方法》和自己从网上买的《嵌入式系统——使用68HC12和HCS12的设计与应用》,熟悉S12单片机的内部结构,具备了开发所需要的知识。
智能车制作知识
一辆完整的智能车如何制作刚开始我们完全不知道,通过阅读组委会发送的《学做智能车》,又通过网络查询一些资料,对整个制作过程有了一定的了解,对制作智能车有了一定的理论基础。
第三届全国大学生智能汽车大赛技术报告
控制算法
关于控制算法的文章很多,对于此次比赛,重点在于速度的提高,不求很精确入弯,因此在阅读这些文献时,重点参考模糊控制和算法容易实现方面得内容。
在《学做智能车》中提到相关方面的知识,又从网上查找资料。
一些简单的参考资料在文章的最后列出。
1.3 本文结构
本文采用先总后分的机构,先对系统总体设计进行介绍,然后分别对各部分进行介绍,突出强调了系统机械设计、硬件电路和软件编程。
本文有7个章节,第一章为引言,简单介绍智能车比赛的一些情况;第二到六章为主体部分,对机械、硬件和软件设计进行了详细介绍,并对调试方法和调试过程进行了说明;第七章为总结,主要说明一下我们在设计过程中遇到的问题和解决办法,以及还存在的问题;最后附上软件代码。
第二章 系统设计
2.1 系统方案介绍
智能车系统采用飞思卡尔16位单片机MC9S12DG128为核心控制单元,由安装在前部的光电传感器负责采集信号,并将采集到的电平信号送入核心控制单元,核心控制单元对信号进行处理后,PWM发生模块发出PWM波,通过输出不同占空比分别对转向舵机、直流电机进行控制,完成智能车的转向前进和制动。
为了使智能车能够快速行驶,单片机必须把路径的判断、相应的转向伺服电机控制以及直流驱动电机的控制精密地结合在一起。
不论是传感器部分数据的错误采集和识别,还是转向伺服电机控制的失当,都会造成模型车严重抖动甚至偏离赛道;如果直流电机的驱动控制效果不好,还会造成直线路段速度不上去,或弯曲路段入弯速度过快而使智能车冲出赛道等问题。
2.2 系统总体结构
系统总体结构如图2.2.1
图2.2.1 系统总体结构框图
从系统总体结构框图可以知道系统由以下几个部分组成。
(1)中央处理器单元
此次使用的MC9S12DG128B单片机属于MOTOROLA公司的MC9S12系列之一。
它是以运算速度很快的CPU12内核为核心的单片机,经过锁相环后,时钟频率
第三届全国大学生智能汽车大赛技术报告
可达到40MHz,内部Flash高至128KB,拥有2组各8路10位A/D、16路I/O 口,有功能强大的8位PWM输出共8路,以及8路16位增强型定时器(ECT)。
该单片机功能强大,完全能够胜任小车的检测和控制功能。
(2)道路识别模块
用于完成对于赛道中心引导线的检测,判断道路信息,通过连接线把信息传送给中央控制单元,使智能车沿着跑道轨迹稳定前行。
(3)电源模块
为各个电路模块提供稳定电源,保证各模块正常工作。
(4)舵机驱动模块
对模型车上的舵机进行驱动,达到快速准确控制赛车方向。
(5)电机驱动模块
对模型车上的电机进行驱动,控制赛车的速度。
(6)速度检测模块
对模型车的速度进行检测,实现闭环控制,以便调整弯道和直道的速度,从而提高平均速度,使小车更快跑完全程。
第三章 机械结构设计
3.1 车模安装
车模组装是我们的第一步工作,我们严格遵守比赛对车模所做要求的前提下,照着说明书上的安装步骤对车模进行安装,并做了一些改装。
(1)后轮距调整
按照车辆运动学理论,增大后轮距,能够提高智能车稳定性并减小侧滑。
因此我们增了后轮距使智能车更稳定的跑完全程。
(2)前轮外倾角调整
通过车轮中心的汽车横向平面与车轮平面的交线与地面垂线之间的夹角,称为前轮外倾角。
我们在组装是采用前轮外倾角为1度。
这样,一方面可以在汽车重载时减小或消除主销与衬套、轮胎与轴承等处的装配间隙,使车轮接近垂直路面滚动而滑动,同时减小转向阻力,使汽车转向轻便;另一方面还可防止由于路面对车轮垂直反作用力的轴向分力压向轮胎外端的轴承,减小轴承及其锁紧螺母的载荷,从而增加这些零件的使用寿命,提高汽车的安全性。
(3)前轮前束调整
当车轮有了外倾角后,在滚动时将导致两侧后轮向外滚开。
由于转向横拉杆和车桥的约束使前轮不可能向外滚开,车轮将在地面上出现边滚边向内滑移的现象,从而增加了后轮的磨损。
在安装车轮时,为消除车轮外倾带来的这种不良后果,可以采用前轮前束来解决。
(4)舵机力臂比例系数调整
增加舵机长臂长度,减小舵机短臂长度,增大长臂和短臂之间的比例,可以在舵机输出较小转角下,取得较大的前轮转角,从而提高了整个车模转向控制的速度。
(5)车身重心调整
车身重心的前后方向调整,对智能车行驶性能有很大的影响。
按照车辆运动学理论,车身重心前移会增加转向,但会降低转向的灵敏度,同时降低后轮
第三届全国大学生智能汽车大赛技术报告
的抓地力;重心后移会减少转向,但会增大转向灵敏度,后轮抓地力也会增加。
因而调整合适的车体重心,让智能车更加适应跑道是很关键的。
根据实际调试经验,鉴于当前舵机响应迟缓,因此,需要将车的中心前移,增加转向性能。
(6)减轻重量
车模在整个竞赛过程中,加速加速度和减速加速度的大小将直接决定车模在全程中的平均速度,要想提高车速就必须提高这两个加速度。
在硬件系统确定的情况下,欲提高车模的加速度,最直接的办法就是降低车模的重量。
我们组在减轻重量方面的操作原则为在不违反比赛规则和不影响正常行驶的情况下,减轻所用材料的重量,拆除所有多余零件,同时不安装无用零件,除电路板和传感器没有安装任何其他的零件。
在电路板的设计过程中,为了减少车体的重量,在保证正常工作的情况下,采用最简单的电路和最少的元器件。
在布局上,使用的双面紧凑布局的方法,最大限度减小电路板的面积,减轻重量。
以上所做的调整大大提高了车模的可靠性和适应性。
安装后的车模如图3.2.1所示。
图3.2.1车模图
第三章机械结构设计3.2 传感器的设计安装
3.2.1 传感器的选择
方案一:采用CCD/CMOS摄像头, CCD/CMOS摄像头的优点是检测前瞻距离大、检测范围宽、检测道路参数多;缺点是电路设计复杂,需要视频信号同步分离,且工作电压高于电池电压,需要升压电路,加大电源的损耗,增加了车身的重量,而且本系统采用的处理器是25MHz的单片机,处理速度有限,并且CCD采集一侦图像的时间最快为50ms,对于一个速度要求很高的系统,采集时间过长,还易受外界干扰,软件计算量大。
方案二:使用红外发射/接收管。
通过红外发光管发射红外线照射跑道,跑道表面与中心线具有不同的反射强度,利用红外接收管可以检测到这些信息。
这种检测方法具有较高的可靠性和稳定性,且电路设计比较简单,检测信息快,最重要的是单片机易于处理。
但这种方法对道路参数检测精度低,易受到外界光线的干扰,且检测距离有限。
通过对两个方案的比较,结合自身实际情况,我们使用了单光束反射取样式光电传感器ST188,它具有以下特点:
(1)采用高发射功率红外光电二极管和高灵敏度光电晶体管组成。
(2)检测距离可调整范围大,4-13mm可用。
(3)采用非接触检测方式。
(4)发射/接收管在同一个元件上,可以减少车身重量。
其外观图和芯片引脚图分别如图3.2.2和3.2.3所示。
图3.2.2 ST188外观图
第三届全国大学生智能汽车大赛技术报告
图3.2.3 ST188芯片引脚图
注:引脚顺序的标识方法,以顶端有斜边起分别为A,K,E,C的顺序排列。
3.2.2 传感器的电路及其布局
我们使用ST188传感器来获取黑线的信息,并使用了固定大小的电阻和可调电阻,以方便传感器在调试中取得最好的效果,传感器的输出电压直接通过A/D转换通道进入数字控制器。
单个光电传感器的检测电路如图3.2.4所示(图中没画出可调电阻,而是把已经调好的电阻用固定电阻来表示)。
图3.2.4 单个传感器的检测电路
这个电路很简单,在硬件的外部我们没有加任何的信号滤波电路,由环境光引起的环境干扰不能通过RC滤波网络来简单的滤除,只能通过软件来滤除。
传感器布局对赛道的检测,控制算法的编写有很大的影响。
方案一:“一”字形传感器布局。
所谓“一”字形的传感器布局,就是把多个传感器按照“一”字排开,这种传感器布局方式最为常见,这种布局的优点
第三章机械结构设计
是常见且安装方便。
不足之处在于:由于传感器只有一排,且安装在智能车的头部,对赛道的曲率几乎没有任何预测功能。
智能车在弯道会突然减速,直道会突然加速,机械磨损较大。
出于对稳定性的考虑,避免赛车在直道进入弯道时冲出赛道,赛车在连续直道时不能开足马力,全速前进,影响了完成比赛的速度。
方案二:“W”形传感器布局。
所谓“W”形的传感器布局,就是把多个传感器按照“W”形排开。
“W”形的传感器布局相对于“一”字形传感器布局有了明显的优点。
由于传感器分布在两排上,使得智能车对弯道有了一定的预测功能,这种预测功能特别体现在直道进入弯道时刻。
后一排传感器仍在直道时,前一排传感器已经进入弯道,“W”形的传感器布局的不足之处在于:由于布局在两排上,控制算法的复杂程度有了很大的增加,判断舵机的旋转方向时,往往需要上一次的检测数据。
经验判断的可能性也随着传感器的数量增加而增加。
经过调试,我们最终采用了一字型布局,即13个传感器安装在同一条直线上,从而保证纵向的一致性,使其控制策略主要集中在横向上。
3.2.3 传感器横向间隔距离
各个传感器的横向间隔距离对智能车是有一定影响的,根据赛道规则,中间黑色导引线的宽度为25mm,为了让传感器间不出现同时感应现象(即每次采集只出现一个传感器值为1)以及不出现盲区,我们让每两个传感器之间的距离为17mm,同时调整传感器的高度,获得很好的区分度和灵敏度。
3.2.4 传感器纵向伸出长度
传感器的纵向伸出长度也是传感器布置的一个重要参数,对车辆的稳定性及最高车速都有很大的影响。
传感器的纵向伸出长度主要关系到模型车对未知赛道的预知能力。
理论上讲,传感器伸出距离越长,越有利于模型车对赛道形状变化做出响应,使得模型车有相对比较充足的时间进行转弯和降速,这样也在很大的程度上提高了模型车在直线上的局限速度。
但是,纵向伸出长度加长也会带来很多弊端,如重心前移增加了模型车不足转向的趋势,使得模型车横摆角速度响应不够迅速,大大增加了过弯的难度。
在安装强度不足时,还会出现上下抖动,不仅增加了车身的不稳定性,还非常
第三届全国大学生智能汽车大赛技术报告
容易使传感器抖动出有效的检测距离之外,引入干扰信号。
权衡了利弊而且经过了反复的实验,我们设计了传感器的纵向伸出长度为10cm。
传感器安装参数表如下表3.2.1
表3.2.1 传感器安装参数表
设计好的传感器外观图如图3.2.5所示
图3.2.5传感器外观图
3.3 电路板的设计安装
电路板是这个系统的核心,我们将所有电路集中在一块板子上,而且用双面PCB板来制作传感器,电路板也用双面PCB来制作,这样性能比较稳定而且重量比较轻,时智能车快速稳定跑完全程的关键。
因为其面积比较大,我们把它固定在车子的中部,如图3.3.6。
第三章机械结构设计
图3.3.6 电路板安装图
3.4 模型车主要参数说明
设计模型车所用到的资源如表3.4.1所示。
第三届全国大学生智能汽车大赛技术报告
表3.4.1模型车资源
项目
个数
电容 若干
红外光电14个
传感器
1个
MC9S12DG128
4片
MC33886
2片
LM2940
1片
LM2941
1片
555
电阻 若干
1个
拨码开关
电机 1个
连接器 若干
1个
舵机
第四章 电路设计
硬件电路设计是自动控制器的基础。
图2.2.1给出了硬件系统框图。
硬件设计应在可靠的基础上尽量简单化,使其满足稳定工作的基本要求。
4.1 电源模块设计
这次比赛所使用的电源是由6节相同型号的电池串联起来从而得到7.2V、2A/h可充电电池组提供。
由于电路中的不同电路模块所需要的工作电压和电流容量不相同,因此电源模块应该包含多个稳压电路,将充电电池电压转换成各个模块所需要的电压。
我们经过以下途径对其他几个模块进行供电。
(1)经过稳压芯片LM2940稳压后,输出5V电压,分别对单片机、传感器和速度检测供电。
(2)经过稳压芯片LM2941稳压后,输出6V电压,对舵机供电。
其原理图如图4.1.1所示。
电机驱动模块的电源直接取自电池。
第三届全国大学生智能汽车大赛技术报告
图4.1.1 电源模块原理图
4.2 电机驱动模块设计
通过电机驱动模块,控制驱动电机两端电压来对模型车加速运行,或对其进行制动。
电机驱动采用MC33886做为驱动芯片,电路如图4.2.1所示。
为了增大驱动能力,减少单片机发热量,电路采用两片MC33886并联的方案。
系统使用PWM控制电机转速,充分利用单片机的PMW模块资源。
电机PWM频率设定为600Hz。
MC33886芯片的工作电压为5-40V,导通电阻为140毫欧姆,PWM频率小于10KHz,具有短路保护、欠压保护、过温保护等功能。
从图4.2.1中可以看到,我们使用PWM1和PWM2作为电机驱动PWM信号,在实际中,我们利用单片机的PWM67控制电机的正转,PMM23控制电机的反转,两个PWM通道级联可以使其输出更加精确。
第四章电路设计
图4.2.1 电机驱动电路
4.3 舵机驱动模块
在模型车上,舵机的输出转角通过连杆传动控制前轮转向。
车模采用大赛统一提供的SRM-102型舵机,工作电源为6V。
影响舵机控制特性的一个主要参数是舵机的响应速度即舵机输出轴转动角速度,SRM-102型舵机响应速度为0.2S/60度。
控制舵机的脉冲可以使用MC9S12DG128的1路PWM产生。
单片机中有8路独立的PWM输出端口,可以将其中相邻的2路PWM输出级联成一个16位PWM输出。
在单片机总线频率为24MHz的时候,改变PWM占空比常数可以改变输出脉冲的宽度。
而脉冲信号的宽度决定舵机输出舵盘的角度。
4.4 车速检测模块
为了使得模型车能够平稳地沿着赛道运行,除了控制前轮转向舵机以外,还需要控制车速,使模型车在急转弯时速度不要过快而冲出跑道,在直道上以较快的速度行驶。
可以通过控制驱动电机上的平均电压控制车速,但是如果开
第三届全国大学生智能汽车大赛技术报告
环控制电机转速,会有很多因素影响电机转速,例如电池电压、电机传动摩擦力、道路摩擦力和前轮转向角度等。
这些因素会造成模型车运行不稳定。
通过速度检测,对车模速度进行闭环反馈控制,就可以消除上面各种因素的影响,使得智能车运行得更精确。
我们采用了如图4.4.1电路来检测速度。
图4.4.1 速度检测电路
ST150为单光束直射取样式光电传感器,它由高输出的红外光电二极管与高灵敏度光敏晶体管组成. 其特点:性能可靠;体积小,结构简单,广泛应用于多费率电能表,IC卡电度表等各种需测量计数的场合,配套有各种遮光盘供选用,可用于判别被测物体的运动方向。
4.5 调试电路模块
为了既不影响模型车的正常行驶,又方便调试的过程,调试模块的设计是必要的,调试模块可以大大提高模型车调试的工作效率,方便排除硬件与软件的缺陷,能够检测模型车运行性能,这些为寻找最优的控制策略以及控制参数打下好的基础,而在比赛的过程中把调试模块取下,以免违反比赛规则,又减小了智能车的重量。
在本设计中,我们制作了一个独立的调试板,用2个数码管显示经过的十
第四章电路设计
字交叉的个数或显示小车的当前速度,还用了单片机内部的EEPROM对模型车运行中的参数进行存储,然后在通过窗口送到计算机进行分析。
第五章 软件系统设计
5.1 HCS12控制软件主要理论
智能车开发环境采用了飞思卡尔HCS12系列单片机开发软件CodeWarrior。
该软件具有支持多种语言、开发环境界面统一、交叉平台开发以及支持插件工具等特点。
在CodeWarrior界面完成编译后,通过BDM FOR S12工具,在CodeWarrior环境下向MC9S12模块下载程序。
BDM FOR S12工具使用简单,十分方便。
5.2 软件系统总体设计
在整个系统设计中,用到了4个单片机基本功能模块:时钟模块、PWM输出模块、ECT模块、AD转换模块、。
通过编写程序先对所用到的模块进行初始化,并通过对相应数据寄存器或状态寄存器的读写,实现期望的功能。
为实现所期望的功能所需芯片资源如表5.2.1所示。
表5.2.1 系统所用到的芯片资源
AD模块 PAD3
~
PAD15 红外传感器 ECT模块 PT0 速度检测脉冲计数
PWM01 舵机控制 PWM
模块 PWM23,PWM67 电机驱动电路
PH0
~
PH7 拨码开关
PB0
~PB7
IO
端口
模块 PA0
~
PA7 数码管 系统通过在主程序内循环调用信号检测、信号处理、路径计算和赛车控制等功能子模块,程序的执行为先对各个模块进行初始化,然后在主程序中完成相应的功能。
首先对各功能模块进行初始化,初始化流程图如图5.2.1所示。
第五章软件系统设计
图5.2.1 系统初始化流程图
初始化完成以后,就在主程序中编写程序,完成智能车沿着跑道快速行驶的任务,其主程序的流程图如图5.2.2所示。
第三届全国大学生智能汽车大赛技术报告
5.2.2 主程序流程图
第五章软件系统设计5.3 软件各功能模块设计
5.3.1 时钟模块
时钟基本脉冲是CPU工作的基础。
MC9S12DG128微控制器的系统时钟信号,由时钟振荡电路或专用时序脉冲信号提供。
MCU内部的所有时钟信号都来源于EXTAL引脚,也为MUC与其他外接芯片之间的通信提供了可靠的同步时钟信号。
S12的总线时钟是整个MCU系统的定时基准和工作同步脉冲,其频率固定为晶体频率的1/2。
对于S12,可以利用寄存器SYNR、REFDV来改变晶振频率fOSCCLK,可以选用8MHz或16MHz外部晶体振荡器作外时钟。
将SYNR设为2,REFDV设为1,可以得到24MHz的总线频率,接近S12单片机的上限内部总线频率25MHz。
而锁相环产生的时钟频率fPLLCLK=2*fOSCCLK*(SYNR+1)/(REFDV+1),设计中我们将SYNR设为2,REFDV设为1,因此,总线时钟为24MHz,CPU工作频率为48MHz。
5.3.2 PWM输出模块
MC9S12DG128集成了8路8位独立PWM通道,通过相应设置可变成4个16位PWM通道,每个通道都有专用的计数器,PWM输出极性和对齐方式可选择,8个通道分成两组,共有4个时钟源控制。
PWM0、PWM1、PWM4、PWM5为一组,使用时钟源ClockA和ClockSA;PWM2、PWM3、PWM6、PWM7构成另一组,使用时钟源ClockB和ClockSB。
ClockA和ClockB均是由总线时钟经过分频后得到,分频范围1~128,通过寄存器PWMPRCLK来设置,ClockSA和ClockSB是分别通过ClockA和ClockB进一步分频后得到的,分频范围为1~512,分别通过寄存器PWMSCLA和PWMSCLB来设置,计算公式为:
ClockSA=ClockA/(2*PWMSCLA)
ClockSB=ClockB/(2*PWMSCLB)
通过寄存器PWME来控制PWM0~PWM7的启动或关闭。
为了提高精度,我们将PWM0和PWM1,PWM2和PWM3,PWM6和PWM7级联,构成16位的PWM通道,级联时,2个通道的常数寄存器和计数器均连接成16位的寄存器, 3个16位通道的输出分别使用通道7、3、1的输出引脚,时钟源分。