以太网 实验报告
更新时间:2024-01-31 21:52:01 阅读量: 教育文库 文档下载
- 以太网是什么推荐度:
- 相关推荐
x
电信 学 院
嵌入式系统设计 实验报告
实 验 名 称 USB接口及以太网接口实验 专 业 班 级 电信 102 姓 名 学号 指 导 教 师 x
一、实验任务
1、U盘扇区的读写。2、以太网简易通信。3、TFT彩屏使用与简单GUI。
二、实验原理
CH375芯片的TXD引脚接地, 从而使其工作于并口模式。CH375芯片的8位双向数据总线直接与MCU数据口相连,RD#和WR#分别连接到单片机的读选通输出引脚和写选通输出引脚。片选信号CS#、中断引脚INT#以及地址输入线A0分别与MCU任意分配的引脚相连。当CS#为低电平时,选通CH375芯片;CH375向MCU请求中断时,将INT#引脚电平拉低,这个时候可以读取中断状态,读到的数据可以判断当前芯片或是工作处于什么状态,也可以分析错误原因,在调试的时候使用,可以编写两版程序,一版用于调试,一版用于实际应用;当A0引脚为高电平时,选择CH375的命令端口,可以写入命令,为低电平时选择数据端口, 可以读写数据,具体操作时序详见数据手册。
实验箱上配有一块2.4(240 * 320)寸的TFT触摸彩屏模块,内置TFT专用控制器ILI9325、电阻式触摸屏控制器XPT2046、总线驱动芯片74HC245、电源管理芯片AMS1117-3.3V,还有一个SD卡槽。这个模块实际上就是把一块2.4寸TFT触摸彩屏、控制器、电源管理芯片、电平转化芯片和SD卡槽等器件集成在了一起,并留出了信号和电源的物理接口。
三、实验步骤
1、打开IAR FOR ARM建立新工程,并进行命名、保存。
2、在新工程上右击选择options设置选项,在General Options中的divice项选择NXP公司的LPC2148处理器;在output中的Output Converter项的输出类型选择为Intel型;在Linker中的linker configuration fiel项选择事前复制的*icf文件;在Debugger的Driver中选择J-Link在download选项中将verify download和use flash loader两个选项打勾,点击OK完成设置。
3、新建一个文件,保存文件类型为*.c,在工程上右击选择添加这个c文件,则可以在该C文件中编写程序,实现功能。
4、程序编写好后,点击compile,有错修改,直至无error,有警告可以不理会。然后点击make生成*.hex文件。
5、将J-Link连接至ARM实验箱,在IAR中点击载到ARM芯片中,然后点击
(download and debug)将程序下
全速执行。若有不符合要求的地方,可以修改程序或单步调
试查找错误点,直至符合要求。
四、实验原理图
74HC375模块连接图:
ENC28J60模块连接图
五、实验程序 USB程序
=============================================================================*/ #include ’..’
#include \用串口打印调试信息,需包含
#define TEST_ADDR 123456//测试扇区地址 #define TEST_COUNT 1 //测试扇区数
INT8 DISK_BUFFER[512*32];
void SyS_Init(void) { } //主函数 int main( ) {
printf(\UINT16 i,Count = 0; SyS_Init();
printf( \while (1) {
printf(\
while (WaitUsbInserted()); /* 等待U盘连接 */ Delay_1ms(250); /* 延时等待U盘进入正常工作状态 */
while(mInitDisk()); /* 初始化U盘,实际是识别U盘的类型,必须进行此步骤 */ PLL_Init();
InitUart(1, 60000000, 9600); while(CH375_Init());
for(i=0; i<(512*TEST_COUNT); i++) }
=============================================================================*/ #include “..”
#include \用串口打印调试信息,需包含
/*********************************************************** 函数名称:CH375_Init(void) 函数功能:CH375的初始化 入口参数:NA
出口参数:操作失败则停止运行
0 操作成功
备 注: 外部调用
***********************************************************/ UINT8 CH375_Init(void) {
static UINT8 i, test;
#if UART_DEBUG > 0
}
{ }
mWriteSector(TEST_ADDR,TEST_COUNT,DISK_BUFFER);
for(i=0; i<(512*TEST_COUNT); i++) { }
mReadSector(TEST_ADDR,TEST_COUNT,DISK_BUFFER); //读取扇区到缓冲区,打印缓冲区 for(i=0; i<(512*TEST_COUNT); i++) { }
printf(\printf(\
printf( \
while ( mWaitInterrupt( ) != USB_INT_DISCONNECT ); /* 等待U盘拔出 */ Delay_1ms( 250 );
if((Count)==0) //控制每行打印16个数据 { }
printf(\Count++;
printf(\
DISK_BUFFER[i]=0; //清除缓冲区 DISK_BUFFER[i] = i;
//向数据缓冲区中写入0~255 0~255,共512个字节
printf(\ #endif
Init_CH375_Port();
#if UART_DEBUG > 0
printf(\ #endif
CH375_WR_CMD_PORT(CMD_GET_IC_VER); /* 获取芯片版本号*/ i = CH375_RD_DAT_PORT(); #if UART_DEBUG > 0
printf(\ #endif
#if UART_DEBUG > 0
printf(\ #endif
CH375_WR_CMD_PORT(CMD_CHECK_EXIST); /* 测试CH375是否正常工作 */ CH375_WR_DAT_PORT(0x55); test = ~0x55; {
#if UART_DEBUG > 0
printf(\ #endif
for (i=HARDWARE_RESET; i!=0; i--) {
CH375_WR_CMD_PORT(CMD_RESET_ALL); /* 多次重复发命令,执行硬件复位 */ CH375_RD_DAT_PORT(); }
CH375_WR_CMD_PORT(0);
Delay_1ms(40); /* 延时50ms */ #if UART_DEBUG > 0
printf(\ #endif
CH375_WR_CMD_PORT(CMD_CHECK_EXIST); /* 测试CH375是否正常工作 */ CH375_WR_DAT_PORT(0x55); test = ~0x55; {
#if UART_DEBUG > 0
printf(\ #endif
/* 写入测试数据 */
/* 返回数据应该是测试数据取反 */
/* 写入测试数据 */
/* 返回数据应该是测试数据取反 */
/*CH375端口初始化*/
if (CH375_RD_DAT_PORT() != test) /* CH375不正常 */
if (CH375_RD_DAT_PORT() != test)
while(1); } }
#if UART_DEBUG > 0
printf(\
printf(\设置USB工作模式, 必要操作 */ #endif
CH375_WR_CMD_PORT(CMD_SET_USB_MODE);
CH375_WR_DAT_PORT(USB_MODE); /*USB主机模式,自动产生SOF包*/ #if UART_DEBUG > 0
printf(\/* 设置USB工作模式, 必要操作 */ #endif
for (i=100; i!=0; i--) /* 等待操作成功,通常需要等待10uS-20uS */ {
if (CH375_RD_DAT_PORT() == CMD_RET_SUCCESS) break; }
if (0 == i) /*CH372/CH375存在硬件错误*/ {
#if UART_DEBUG > 0
printf(\ #endif while(1); }
#if UART_DEBUG > 0
printf(\ #endif return 0; }
六、实验总结
while(1); } }
#if UART_DEBUG > 0
printf(\
printf(\设置USB工作模式, 必要操作 */ #endif
CH375_WR_CMD_PORT(CMD_SET_USB_MODE);
CH375_WR_DAT_PORT(USB_MODE); /*USB主机模式,自动产生SOF包*/ #if UART_DEBUG > 0
printf(\/* 设置USB工作模式, 必要操作 */ #endif
for (i=100; i!=0; i--) /* 等待操作成功,通常需要等待10uS-20uS */ {
if (CH375_RD_DAT_PORT() == CMD_RET_SUCCESS) break; }
if (0 == i) /*CH372/CH375存在硬件错误*/ {
#if UART_DEBUG > 0
printf(\ #endif while(1); }
#if UART_DEBUG > 0
printf(\ #endif return 0; }
六、实验总结
正在阅读:
以太网 实验报告01-31
我最喜欢的动物作文200字07-05
八年级语文上册学习集优方案(181页,含答案)-精品教案全册11-14
魅力汉语作文600字07-15
餐厅试用期工作总结(精选多篇)09-27
头颅MR检查方法及各序列的应用03-31
南昌大学科学技术学院青年志愿者协会第三届军训服艺术设计大赛策划书10-25
山东省2018年专升本英语真题11-01
秋天励志随笔03-17
- exercise2
- 铅锌矿详查地质设计 - 图文
- 厨余垃圾、餐厨垃圾堆肥系统设计方案
- 陈明珠开题报告
- 化工原理精选例题
- 政府形象宣传册营销案例
- 小学一至三年级语文阅读专项练习题
- 2014.民诉 期末考试 复习题
- 巅峰智业 - 做好顶层设计对建设城市的重要意义
- (三起)冀教版三年级英语上册Unit4 Lesson24练习题及答案
- 2017年实心轮胎现状及发展趋势分析(目录)
- 基于GIS的农用地定级技术研究定稿
- 2017-2022年中国医疗保健市场调查与市场前景预测报告(目录) - 图文
- 作业
- OFDM技术仿真(MATLAB代码) - 图文
- Android工程师笔试题及答案
- 生命密码联合密码
- 空间地上权若干法律问题探究
- 江苏学业水平测试《机械基础》模拟试题
- 选课走班实施方案
- 以太网
- 实验
- 报告
- 四川省广安市矿产资源总体规划
- 第七届(2012)世奥赛夏季总决赛九年级初赛试卷
- 脱硫、脱销值班员题库单选题
- 关于对施工日志检查通报通知
- 人体脏腑系统功能及养生
- 感党恩颂党情2、2
- 《宏观经济学》课程教学大纲
- 压铸件表面质量及公差要求标准
- 国土资源部 交通运输部 铁道部关于进一步加强和改进公路、铁路项目建设用地服务和监管的通知国土资发〔201
- 六年级上册语文第一单元积累
- 幼儿园校本培训计划
- 小学语文课堂教学有效性提问刍议
- 2017年江苏盐城市中考英语试卷含答案解析(Word版)
- 重庆大学体育知识题库
- 心理学选择题2
- 热负荷计算
- 中外大事年表
- 汽车局六十年的历史烟云 - 图文
- 统计学习题集- 副本1
- 2017年-2018年中国人民大学文艺学专业考研参考书目