【开源】基于迪文屏的台式广播机方案
该方案基于迪文屏设计,采用迪文屏作为显示控制,使用Modbus总线协议,具备音源多功能输入、定时播放歌曲、分区控制等功能,适用于教室、表演节目和领导讲话等场景。目前该方案已完成量产。
一、方案介绍 台式广播机主要应用于教室上下课、表演节目、领导讲话等场景,具有音源多功能输入、接收手机蓝牙、话筒、收音、辅助输入AUX、U盘播放以及定时播放歌曲、分区开关控制等功能。 方案主要使用了DMT10600C070_07WT屏作为显示控制,其程序使用了迪文开发者论坛上T5 Modbus文件的汇编modbus程序。目前,该台式广播机已经量产。 视频展示链接:https://v.youku.com/v_show/id_XNTk3NDUxNTY0OA==.html
二、主要特点 2.1 本台式机给客户提供十分的便利性,把定时广播和话筒扩声叠加到一起。比如应用场景在教室,可提前设置好定时点。上下课时可以定时播报提醒学生上课;当中场休息时可以播放蓝牙/U盘/AUX等音源,给学生提供休闲音乐;当上课时,可以利用话筒进行扩音讲话,对学生对行教学。 2.2 整个软件主要由屏幕显示控制和STM32单片机构成。软件协议是moubus 总线协议,通用性强,主要利用几个指令:03 06 10 。这3个读写指令:03是读取从机内存,06、10是写从机内存。在T5 Modbus文件中,OS代码/UART4/ DWINOS_T5_Modbus_V6.Bin文件,还有一个22_ModbusSlave.bin文件。第一个文件是屏幕的OS文件,第二个文件是烧录到片上的22.bin文件,两个文件要一起烧录,否则出问题,且要有电脑自动生成的22.bin文件去掉才行。 关于moudbus协议上的问题,我上传一个中文版本的PDF文件,供大家学习和参考。
三、UI界面设计
其中台式广播机界面目录如下: 上面的内存分配图,值得一看。建议大概写迪文界面,都写个内存分配图,记录了分配变量对应内存的各个界面使用情况。这样如果后面新建页面就可以查看这个文档,看看哪些内存没有被使用,哪些已被使用,避免变量地址设置冲突 。内容如下:
四、OS与字库基础知识介绍 (一)如何在迪文上面使用OS 1.1 什么是OS? OS 是迪文屏幕上的用户程序。迪文屏幕上有2套程序,一种是迪文自已的内核程序,另一套是用户可以编程的程序。如果是单核芯片会在一定的时候由内核程序去调用用户程序,如果是迪文的双核芯片,就会一个核心运行一个程序,一个是OS核心程序用一个核心,用户程序用一个核。 另外STM32 是自己画板子上的一个单片机,通过串口把STM32与迪文屏幕连接在一起。我这里使用的是迪文屏幕的串口4。用户核心代码使用电脑的 osBuild打开进行编程。 osBuild: 大概就是这样一个界面: 左边是框框是伪定义,相当于C语言的宏定义,定义了一些地址码。 右边是程序的定义。 用户可以去迪文下载其汇编指令pdf,进行汇编使用学习。 1.2 modbus和 22.bin的关系 1.2.1 什么是22.bin 22.bin是通过T5 DGUS Tool V7.383.exe 生成的,它里面一般包含的是迪文的内存变量的一些初始化的内容,比如显示变量。 迪文的内核开机之后,就会查询标志位,看看是否需要初始化迪文的变量,如果需要就要加载22.bin的内容。当然我们这里是不需要的。 1.2.2 modbus和 22.bin的关系 其实很简单,因为迪文的汇编里面用到了22.bin的内容标志位定义,主要是用来判断迪文OS的用户软件是用来做主机还是从机的modbus的用法。汇编程序里面,会去读取22.bin文件,它被存储到了flash芯片里面。如果是要用这个modbus文件程序,就会去读取。当然用户也可以直接修改asm汇编程序,让其直接成为主机或者从机即可,就不用去读取22.bin这个文件。如果用到了22.bin文件,就要去屏蔽原来 T5 DGUS Tool V7.383.exe 这个生成的22.bin文件,要不然两者就会首重冲突。 我这里给带读一下os程序。 后面有注释,首重是初始化sys_init。然后在 sys_init里面的调用了MAIN,我们来看下MAIN。这里就写着一个,Modbus_Master是主机程序,Modbus_Slave是从机程序。 然后我们是从机程序,就直接跳到这里。如果只有从机程序,就可以把主机跳转那部分给去掉。 具体的代码,你们自己研究。
(二)关于字库 什么是字库?字库是能在屏幕上显示的字体的集合。一般来说字库有两种,一般是国际上编码定义,比如GBK、unicode、GBK2312等;还有就是有了编码定义之后。字体要如何显示,这时候就需要显示字体生成器表示。液晶显示上每一个点点亮,这样就会形成一个字体。 这里就是选择国际上定义的编码格式,具体的点阵如何生成就要使用字库生成器。 我使用了字库生成器。 选择好编码格式字体之后,点击创建即可。然后再放到DWIN_SET文件目录里面,然后就可以在T5 DGUS Tool V7.383.exe 里面使用了。
备注说明:如需源码,请参考此链接:http://inforum.dwin.com.cn:20080/forum.php?mod=viewthread&tid=8406&_dsign=8eef3c68
|