以太网 实验报告
更新时间:2024-04-22 04:24: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; }
六、实验总结
正在阅读:
以太网 实验报告04-22
北大法学院2011级推荐书目11-26
2016会计继续教育题库答案10-22
70周年大阅兵观后感12-11
自我推荐书范文02-17
富卓汽车座椅环境报告表 - 图文04-05
苏州市网上家长学校03-08
童话故事8篇 睡前小故事02-22
典型人物02-18
- 2009中西部家居博览会总体策划
- 2009 Revit 1级工程师学生用
- 天津地铁建设工程试验检测机构管理办法(TJDT-ZY-AQ-29)
- 新四年级数学暑期班第七次教案
- 机械制造企业隐患排查治理检查表 - 图文
- 2008届全国百套高考数学模拟试题分类汇编-103概率与统计解答题 -
- 职场健身防病试题及答案
- Excel操作技巧大全II - --数据输入和编辑技巧
- 南开大学2018春季《行政管理学》离线作业考核答案
- 2015年医师定考简易程序试卷及答案
- 新《预算法》对行政事业单位预算管理的挑战解读
- 轴的课件
- 电动汽车充电桩设计 毕业论文
- 必修2、选修2-1、1-1期末模拟试题2
- 桌面远程运维管理系统实施-可行性研究报告120306
- 西气东输水土保持工程工作总结 - 图文
- 正宁县基本县情及经济社会发展情况简介
- SATWE参数设置(巨详细)
- 儒家法思想研究综述
- 生活家政服务电子商务平台建设运营整合方案书【审报完稿】
- 以太网
- 实验
- 报告
- 柠檬酸钙项目可行性研究报告
- 人教版七年级上册数学经典题应用题型35道及答案 彩色版
- 国土资源部 交通运输部 铁道部关于进一步加强和改进公路、铁路项
- 九年级英语选词填空专项练习(1)
- 李勃:数据中心应用冷却系统之比较与分析 - 图文
- 执业第一套第四单元
- 基于单片机的GPS定位系统设计 - 图文
- 水土保持验收技术报告
- 欧陆590在冷轧机中的应用祥解 - 图文
- 杨纯一综实论文
- 十九大、党章知识竞赛题123
- 传智播客PHP 0912 基础班 入学测试题
- 人工智能实验算法分析文档
- PMP模拟题
- 小学语文课堂教学有效性提问刍议
- 重庆大学体育知识题库
- 电火花加工资料
- 西安交通大学17年9月课程考试《有机化学》作业考核试题100分答案
- 广东省质量检测服务行业企业名录1761家
- 热负荷计算