基于FPGA的倾角检测系统(倾角监测,短信提示,定位信息显示等功能)

目录

一、GY25模块倾角检测

        1、模块图

        2、上位机测试​

二、HDMI显示:

        1、像素时钟的计算

        2、VGA显示汉字

        3、显示效果

三、短信报警、定位信息提示

四、语音报警提示


一、GY25模块倾角检测

        1、模块图

图1. GY25模块

        2、上位机测试

图2. GY25模块上位机测试

二、HDMI显示:

        1、像素时钟的计算

         PCLK: pixel clock(像素频率)   计算方法如下:
        以1920x1080p/60hz为例,total pixel:2200,total line:1125,filed rate:60Hz,那么:PCLK = 2200*1125*60 = 148.5MHz;串行时钟=148.5*5=742.5MHz(因为串转并的时候需要发送10位数据,又因为该时钟上下沿都可以发送数据,所以要乘10/2 = 5)。

        2、VGA显示汉字

         在做图像显示时,要先用BMP2Mif软件把bmp图片转换成.coe文件。 但是要把JPG或PNG图片转换成bmp时,大部分软件都有水印或者收费。刚刚发现QQ浏览器可以直接生成BMP图片。只不过是以截图的形式,调整好保存路径,就可以收获免费无水印的bmp图片啦。

        出错了,qq浏览器生成的是32bit的bmp图片,而BMP2Mif只支持24 / 8位的位图格式转换。

        图3. 保存截图为BMP格式

        这次只是显示几个字嘛,所以就不用转换图片成.coe文件了,直接用字模提取软件PCtoLCD2002提取字模,下面是直接的配置。

 图4. 输出选项的配置

         上图中左下角<点阵>这个选项非常有用,用好了方便很多。在字模大小都为16*16时,<点阵>数字选4 或 8并不改变数据内容,只是改变每一行数据的多少。这样的好处是在定义二维数组时,不用自己手动凑位宽。PS:小数据用二维数组显示,大数据用ROM加载.coe文件显示。

        verilog中二维数组(实质是ROM)简述:

//[15:0]表示位宽为16,memory_A是二维数组名字,[0:99]表示深度
reg    [15:0]  memory_A  [0:99] ; 

//当要调用其中的一组数据的特定部分,可以使用  存储名 [组数] [要调用的位数]
//例如,调用第8组的高8位
assign   DATA = memory_A[7][15:8]

         对相同汉字的不同<点阵>选项的对比:

 成(0):<点阵>选项数字:4							

DB 00H 50H 00H 48H;
DB 00H 40H 3FH FEH;
DB 20H 40H 20H 40H;
DB 20H 44H 3EH 44H;
DB 22H 44H 22H 28H;
DB 22H 28H 22H 12H;
DB 2AH 32H 44H 4AH;
DB 40H 86H 81H 02H;"成",0

 成(1):<点阵>选项数字:8

DB 00H 50H 00H 48H 00H 40H 3FH FEH;
DB 20H 40H 20H 40H 20H 44H 3EH 44H;
DB 22H 44H 22H 28H 22H 28H 22H 12H;
DB 2AH 32H 44H 4AH 40H 86H 81H 02H;"成",0

        3、显示效果

        经历了好多次错误,终于做好了一个简单的实时显示系统。

以下是试错过程:

 这是界面效果:(还没连接GY25倾角检测模块,目前只是按键控制)

实时监测视频如下: 基于FPGA的倾角检测_哔哩哔哩_bilibili

三、短信报警、定位信息提示

短信内容包含警报信息和经纬度信息。

目前实现功能所用的.v文件

---------------------------------------------------没写完,慢慢更。------------------------------------------------------

四、语音报警提示

小技巧:

1、数据左移1位,有两种简单方法。

cSendByte = cSendByte << 1;

cSendByte += cSendByte;

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

内有小猪卖

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值