迪文科技论坛

 找回密码
 立即注册
搜索
查看: 116|回复: 0

【2023.6.25获奖项目】基于迪文屏的台式广播机方案

[复制链接]

567

主题

167

回帖

1万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
11978
发表于 2024-1-11 11:55:34 | 显示全部楼层 |阅读模式
【开源】基于迪文屏的台式广播机方案

该方案基于迪文屏设计,采用迪文屏作为显示控制,使用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



本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|小黑屋|迪文科技论坛 ( 京ICP备05033781号-1 )

GMT+8, 2024-11-24 08:32 , Processed in 0.098538 second(s), 23 queries .

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表