課程設計報告

2021-04-11 19:46:20 字數 3332 閱讀 9098

長治學院

課程名稱: 嵌入式系統課程設計

設計題目: iic驅動設計頁傳輸方式

系別計算機

專業: 電腦科學與技術

組別第6組

學生姓名: 鄧昊學號: 10407204

起止日期: 2013 年7月3日~ 2023年7月10日

指導教師王永崗

目錄1 需求分析 1

1.1課程設計題目 1

1.2課程設計內容 1

1.3課程設計要求 1

1.4軟硬體執行環境 1

2 概要設計 3

2.1i2c匯流排原理 3

2.2流程圖設計 4

3 詳細設計 6

3.1模組設計 6

3.2模組功能 6

3.2程式清單 7

3.2.1iic驅動程式 7

3.2.2主函式呼叫 12

4 除錯與操作說明 16

4.1除錯與操作使用說明 16

4.2除錯結果 16

5 課程設計總結與體會 18

致謝 19

參考文獻 19

iic驅動設計頁傳輸方式

設計iic匯流排的驅動程式。實現主機和從機直接的資料傳送。

在iic驅動檔案中建立七個設計模組,包括iic匯流排初始化模組、匯流排啟動模組、匯流排資料傳輸模組、匯流排資料接收模組、匯流排結束模組、硬體資料傳送模組、硬體資料接收模組。在呼叫函式中使用iic介面主模式向cat1025寫入十字節資料,然後讀出校驗,如果校驗通過則蜂鳴器響一聲,否則不斷報警,iic介面操作採用查詢方式。

win7系統下的codewarrior for arm developer suit軟體

c語言匯流排是把微處理器、i/o裝置相連的資訊通道,但是匯流排並不是僅僅指的是一束訊號線,而應包含相應的通訊協議和規則。匯流排分成晶元級匯流排(cpu匯流排)、板卡級匯流排(內匯流排)、和系統級匯流排(外匯流排)。

iic匯流排的2根線一串行資料(sda)和序列時鐘(scl)一一連線到匯流排上的任何乙個器件,每個器件都應有乙個唯一的位址,而且都可以作為乙個傳送器或接收器;標準模式下,匯流排資料傳輸的速度為100kbit/s,在高速模式下,可達400kbit/s。

iic匯流排是一種多主機的匯流排,可以連線多於乙個能控制匯流排的器件到匯流排。當有2個以上能控制匯流排的器件同時發動傳輸時,只能有乙個器件能真正控制匯流排而成為主機,並使報文不被破壞,這個過程叫仲裁。

,這樣才能正確實現iic通訊。當匯流排空閒時,這2條線路都是高點平;iic匯流排上沒傳輸乙個資料位必須產生乙個時鐘脈衝(只有在scl線為低電平時,sda才能改變)。

s3c2410a具有乙個硬體iic介面,可以配置為主傳送、主接收、從傳送和從接受等四種操作模式。iic介面共包括四個暫存器,控制暫存器iiccon用於設定iic匯流排時鐘和中斷(標誌)使能,還有1位中斷標誌位;狀態暫存器iicstat出了只是擋牆i2c匯流排狀態外,還有2位i2c操作模式控制位和匯流排啟動/結束控制位;資料暫存器iiccds用來傳送資料或接受資料;從機位址暫存器iicadd用來儲存s3c2410a作iic從機時的器件位址。

對i2c介面進行初始化時,首先要設定相應i/o為iicsda、iicscl功能引腳,然後通過iiccon暫存器來設定i2c匯流排時鐘,並使能i2c中斷(標誌),通過iicstat暫存器來設定i2c介面為主傳送模式;

iic匯流排介面操作有四個種模式:主控傳送模式、主控接收模式、從屬傳送模式、從屬接收模式。

iic主傳送/接收模式流程

起始訊號:先把要訪問的iic器件的位址寫入iicds暫存器當中,然後將iicstat暫存器的d5位置0位,即可產生結束匯流排訊號,並且將從機位址傳送出去。

資料傳輸:進行iic資料傳送時,將待傳送資料寫入iicds暫存器,然後還要寫iiccon暫存器清除iic中斷標誌,匯流排才開始傳送資料。通過讀取iiccon、iicstat暫存器的值判斷資料是否傳送完成。

終止訊號:當一次資料傳送/接收完畢後,需要產生結束匯流排訊號。將iicstt暫存器的d5位清零,然後再清除iiccon暫存器的d4位,即可產生結束匯流排訊號。

** file name: i2c.c

** description: s3c2410的i2c軟體包

查詢控制方式

** created by: 黃紹斌

** created date: 2005-12-31

#define in_i2c

#include "config.h"

// i2c匯流排設定巨集定義

#define iiccon_dack1<<7) | (1<<6) | (1<<5) | (0<<0)) /* 使能ack位*/

#define iiccon_dnack0<<7) | (1<<6) | (1<<5) | (0<<0)) /* 中斷使能 */

** function name: initi2c

** descriptions: 初始化匯流排 (100khz匯流排速率)

設fclk=200mhz,hclk=100mhz,pclk=50mhz。

** input: 無

** output: 無

** created by: 黃紹斌

** created date: 2006-01-11

void initi2c(void)

** function name: start_i2c

** descriptions: 啟動匯流排,傳送從機位址,並傳送從機位址

** input: sla 從機動位址

** output: 操作成功返回true,仲載失敗/無從機應答返回false

** note: sla位最低位為讀寫控制位

** created by: 黃紹斌

** created date: 2006-01-11

int starti2c(uint8 sla)

else

// 等待操作完成

while((riiccon&0x10) == 0);

// 判斷操作是否成功 (匯流排仲裁和從機應答)

if((riicstat&0x09) == 0)

return(true

}else

傳送結束訊號

if(sla&0x01) riicstat = (2<<6)|(0<<5)|(1<<4);

else riicstat = (3<<6)|(0<<5)|(1<<4);

riiccon = iiccon_dack;

for(i=0; i<5000; i等待結束訊號產生完畢

return(false);

end of if((riicstat&0x09) == 0)...else...

球閥課程設計報告 ProE課程設計

一.課題名稱 球閥班級 12機自a1 小組成員 李軍帥 組長 李軍帥 二.球閥的功能和工作原理描述 1.球閥的工作原理 球閥的主要驅動原件是裝配於閥杆上端的扳手,球閥的啟閉元件是位於閥桿下端的球體。球閥的主要工作原理是 當給扳手施加某一轉矩,扳手驅動閥桿旋轉,閥桿將扳手的轉矩傳遞給位於閥桿下端的球體...

課程設計報告

數位電路課程設計報告 題目姓名 班級學號 同組人報告得分 南京航空航天大學金城學院 目錄一 課設內容及要求 1 設計任務 2 設計指標 二 設計方案 1 總體設計方案說明 2 模組結構與方框圖 三 電路設計與器件選擇 1 功能模組一 實際名 1 模組電路及引數計算 2 工作原理和功能說明 3 器件說...

課程設計報告

題目院 系電子與資訊工程學院 專業電子資訊科學與技術 班級姓名 設計日期 報告書寫要求 1 報告的撰寫要求條理清晰 語言準確 表述簡明。報告中段首空兩個字元,中文字型為宋體五號,數字 字元 字母為times new roman五號,且單倍行距。2 報告中插圖應與文字緊密配合,文圖相符,技術內容正確。...