第2部分中,我们介绍了基于星形拓扑结构的家庭自动化系统的架构。在第3部分,我们将展示如何利用片上系统技术设计基本的家庭自动化系统。
SoC架构能将系统的大部分功能集成到单个芯片中,以缩短上市进程和减少材料清单成本。由于这种集成方法将实现方案隐藏在芯片中,因此对系统进行反向工程的难度加大。
除了加速设计外,SoC还可提供几种有助于OEM厂商在嵌入式市场中取得成功的业务优势:
1.更低的成本:集成组件的总成本显著高于单个SoC的成本。
2.更快的上市进程:考虑到设计人员能利用更少的外部组件实现更小的系统,因此SoC能缩短产品上市所需的时间。
3.简化的系统可变性:SoC具有不同的接口和功能,因此可基于相同SoC设计多个家庭自动化系统。这样更利于在系统中使用SoC并保持架构不变,使设计工作更趋近于即插即用方式。使用单个器件能减少组件数量,从而实现更小型的解决方案。
SoC提供不同级别的集成度。例如,赛普拉斯的PSoC系列MCU集成了家庭自动化系统所需的大部分组件,只需外部传感器和有限数量的无源组件即可。此外,PSoC架构内的通用数字模块(UDB)提供可编程硬件逻辑,使设计人员能够在可编程逻辑模块 (PLD)中集成定制数字逻辑,以实现更高的集成度。
系统要求:
1.采样多个传感器的ADC
2.连接各种外设的SPI通信接口
3.连接RTC 的I2C通信接口
4.十六进制键盘接口
5.面向红外遥控器的IrDA接口
6.用于驱动驱动器电路的输出引脚
系统级设计
为协助用户采用SoC架构进行开发,芯片制造商提供了专用工具。这些工具有助于管理通信任务和通过SoC的数据流,便于建立可靠的固件并配置可编程逻辑资源。例如,赛普拉斯的PSoC Creator提供图形化设计界面,允许开发人员快速使用经过预先验证的生产就绪型组件,且组件具有简化的配置和易于使用的API等。
![](http://www.ck365.cn/data/upload/201409/04/15-17-31-48-0.jpg)
图1:PSoC Creator 中显示的家庭自动化系统架构
(点击查看大图)
图1给出了完整的家庭自动化系统设计。所用的各种组件包括:
A.ADC:ADC可用来从温度和气体传感器中获取读数,对传感器进行采样,并提供数字值以供CPU制定智能控制决策。
B.热敏电阻:该组件提供一个API,用以将与温度传感器对应的数字读数转换为温度。
C.SPI:SPI组件可与NFC、以太网等各种外设直接连接。该接口使用一个额外的解复用器来连接采用单个主机的多个通信模块。
D.I2C:I2C组件连接到RTC,而且可方便地进行扩展以连接任意I2C从设备。
E.十六进制键盘:这是一个在设计环境内部实现的定制组件。该组件采用由UDB设计的状态机,读取4x4键盘中检测到的按键输入。
F.IrDA解码器:该组件接收来自IrDA接收器的信号,对信号进行解码,并将译码结果提供给CPU进行评估和处理。
定制组件的内部电路:SoC设计工具使开发人员能够灵活性地利用常见系统模块设计定制组件,并通过易于使用的模块隐藏复杂电路。以上设计采用两种定制组件:
A.IrDA解码器:该模块能解码由RC5协议编码的红外信号。RC5数据包一般有14位,以曼彻斯特编码格式发送。
![](http://www.ck365.cn/data/upload/201409/04/15-17-31-11-0.jpg)
图2:曼彻斯特编码远程输出
Bit Extractor模块按照以下方式从来自TSOP IrDA接收器的输入信号恢复位和时钟。第一个XOR门电路从信号中恢复埋时钟。该信号以串行时钟3/4的周期触发PWM组件。当PWM到达最终计数时会触发第二个DFF,用以采样反转信号。反转的DFF输出信号在传送到移位寄存器之前被再次反转。利用查找表 (LUT) 来计算接收到的位数,当收到第14个位时触发一个中断。在该中断内,CPU读取存储在移位寄存器中的接收数据。
![](http://www.ck365.cn/data/upload/201409/04/15-17-31-15-0.jpg)
图3:IrDA解码器电路图
B.十六进制键盘:十六进制键盘为16按键输入,分为四行和四列以提供 (4 x 4 =) 16个唯一按键。在给定组件中,其中一个列引脚被置成低电平,同时读取行。如果未检测到按键动作,那么下个列引脚置为低电平,并将前一个引脚置为高电平。当相应的列引脚置为低电平时如果有一个行引脚变为低电平,那么此时检测到按键动作。按键动作检测会让“有效”行变为高电平。这个有效终端可用来产生中断。在中断内,CPU会读取“Key_Reg”寄存器以获取关于该按键的信息。
![](http://www.ck365.cn/data/upload/201409/04/15-17-31-55-0.jpg)
图4:十六进制键盘解码器电路图