Giáo trình hoàn chỉnh vi điều khiển-Phần 7
Số trang: 9
Loại file: pdf
Dung lượng: 172.62 KB
Lượt xem: 13
Lượt tải: 0
Xem trước 2 trang đầu tiên của tài liệu này:
Thông tin tài liệu:
Tham khảo tài liệu giáo trình hoàn chỉnh vi điều khiển-phần 7, công nghệ thông tin, phần cứng phục vụ nhu cầu học tập, nghiên cứu và làm việc hiệu quả
Nội dung trích xuất từ tài liệu:
Giáo trình hoàn chỉnh vi điều khiển-Phần 7 Hình 2.31 Sô ñoà khoái MSSP (I2C Master mode).I2C Master ñoùng vai troø tích cöïc trong quaù trình giao tieáp vaø ñieàu khieån caùc I2C Slave thoângqua vieäc chuû ñoäng taïo ra xung giao tieáp vaø caùc ñieàu kieän Start, Stop khi truyeàn nhaän döõ lieäu.Moät byte döõ lieäu coù theå ñöôïc baét ñaàu baèng ñieàu kieän Start, keát thuùc baèng ñieàu kieän Stop hoaëcbaét ñaàu vaø keát thuùc vôùi cuøng moät ñieàu kieän khôûi ñoäng laëp laïi (Repeated Start Condition).Xung giao tieáp noái tieáp seõ ñöôïc taïo ra töø BRG (Baud Rate Generator), giaù trò aán ñònh taàn soáxung clock noái tieáp ñöôïc laáy töø 7 bit thaáp cuûa thanh ghi SSPADD. Khi döõ lieäu ñöôïc ñöa vaøothanh ghi SSPBUF, bit BF ñöôïc set vaø BRG töï ñoäng ñeám ngöôïc veà 0 vaø döøng laïi, pin SCLñöôïc giöõ nguyeân traïng thaùi tröôùc ñoù.Khi döõ lieäu tieáp theo ñöôïc ñöa vaøo, BRG seõ caàn moätkhoaûng thôøi gian TBRG töï ñoäng reset laïi giaù trò ñeå tieáp tuïc quaù trình ñeám ngöôïc. Moãi voøngleänh (coù thôøi gian TCY ) BRG seõ giaûm giaù trò 2 laàn. Hình 2.32 Sô ñoà khoái BRG (Baud Rate Benerator) cuûa I2C Master mode.Caùc giaù trò cuï theå cuûa taàn soá xung noái tieáp do BRG taïo ra ñöôïc lieät keâ trong baûng sau: Trong ñoù giaù trò BRG laø giaù trò ñöôïc laáy töø 7 bit thaáp cuûa thanh ghi SSPADD. Do I2Côû cheá ñoä Master mode, thanh ghi SSPADD seõ khoâng ñöôïc söû duïng ñeå chöùa ñòa chæ, thay vaøoñoù chöùc naêng cuûa SSPADD laø thanh ghi chöùa giaù trò cuûa BRG. Ñeå taïo ñöôïc ñieàu kieän Start, tröôùc heát caàn ñöa hai pin SCL vaø SDA leân möùc logic caovaø bit SEN (SSPCON2) phaûi ñöôïc set. Khi ñoù BRG seõ töï ñoäng ñoïc giaù trò 7 bit thaáp cuûathanh ghi SSPADD vaø baét ñaàu ñeám. Sau khoaûng thôøi gian TBRG, pin SDA ñöôïc ñöa xuoángmöùc logic thaáp. Traïng thaùi pin SDA ôû möùc logic thaáp vaø pin SCL ôû möùc logic cao chính laøñieàu kieän Start cuûa I2C Master mode. Khi ñoù bit S (SSPSTAT) seõ ñöôïc set. Tieáp theoBRG tieáp tuïc laáy giaù trò töø thanh ghi SSPADD ñeå tieáp tuïc quaù trình ñeám, bit SEN ñöôïc töïñoäng xoùa vaø côø ngaét SSPIF ñöôïc set. Trong tröôøng hôïp pin SCL vaø SDA ôû traïng thaùi logic thaáp, hoaëc laø trong quaù trình taïoñieàu kieän Start, pin SCL ñöôïc ñöa veà traïng thaùi logic thaáp tröôùc khi pin SDA ñöôïc ñöa veàtrang thaùi logic thaáp, ñieàu kieän Start seõ khoâng ñöôïc hình thaønh, côø ngaét BCLIF seõ ñöôïc set vaøI2C seõ ôû traïng thaùi taïm ngöng hoaït ñoäng (Idle). Hình 2.33 Giaûn ñoà xung I2C Master mode trong quaù trình taïo ñieàu kieän Start. Tín hieäu Stop seõ ñöôïc ñöa ra pin SDA khi keát thöùc döõ lieäu baèng caùch set bit PEN(SSPCON2). Sau caïnh xuoáng cuûa xung clock thöù 9 vaø vôùi taùc ñoäng cuûa bit ñieàu khieånPEN, pin SDA cuõng ñöôïc ñöa xuoáng möùc thaáp, BRG laïi baét ñaàu quaù trình ñeám. Sau moätkhoaûng thôøi gian TBRG, pin SCL ñöôïc ñöa leân möùc logic cao vaø sau moät khoaûng thôøi gianTBRG nöõa pin SDA cuõng ñöôïc ñöa leân möùc cao. Ngay taïi thôøi ñieåm ñoù bit P (SSPSTAT)ñöôïc set, nghóa laø ñieàu kieän Stop ñaõ ñöôïc taïo ra. Sau moät khoaûng thôøi gian TBRG nöõa, bit PENtöï ñoäng ñöôïc xoùa vaø côø ngaét SSPIF ñöôïc set. Hình 2.34 Giaûn ñoà xung I2C Master mode trong quaù trình taïo ñieàu kieän Stop. Ñeå taïo ñöôïc dieàu kieän Start laëp laïi lieân tuïc trong quaù trình truyeàn döõ lieäu, tröôùc heátcaàn set bit RSEN (SSPCON2). Sau khi set bit RSEN, pin SCL ñöôïc ñöa xuoáng möùc logicthaáp, pin SDA ñöôïc ñöa leân möùc logic cao, BRG laáy giaù trò töø thanh ghi SSPADD vaøo ñeå baétyñaàu quaù trình ñeám. Sau khoaûng thôøi gian TBRG, pin SCL cuõng ñöôïc ñöa leân möùc logic caotrong khoaûng thôøi gian TBRG tieáp theo. Trong khoaûng thôøi gian TBRG keá tieáp, pin SDA laïi ñöôïcñöa xuoáng möùc logic thaáp trong khi SCL vaãn ñöôïc giöõ ôû möùc logic cao. Ngay thôøi ñieåm ñoù bitS (SSPSTAT) ñöôïc set ñeå baùo hieäu ñieàu kieän Start ñöôïc hình thaønh, bit RSEN töï ñoängñöôïc xoùa vaø côø ngaét SSPIF seõ ñöôïc set sau moät khoaûng thôøi gian TBRG nöõa. Luùc naøy ñòa chæcuûa I2C Slave coù theå ñöôïc ñöa vaøo thanh ghi SSPBUF, sau ñoù ta chæ vieäc ñöa tieáp ñòa chæhoaëc döõ lieäu tieáp theo vaøo thanh ghi SSPBUF moãi khi nhaän ñöôïc tín hieäu töø I2C Slave,I2C Master seõ töï ñoäng taïo tín hieäu Start laëp laïi lieân tuïc cho quaù trình truyeàn döõ lieäu lieân tuïc. Caàn chuù yù laø baát cöù moät trình töï naøo sai trong quaù trình taïo ñieàu kieän Start laëp laïi seõlaøm cho bit BCLIF ñöôïc set vaø I2C ñöôïc ñöa veà traïng thaùi “Idle”. Hình 2.35 Giaûn ñoà xung I2C Master mode trong quaù trình taïo ñieàu kieän Start lieân tuïc. Xeùt quaù trình truyeàn döõ lieäu, xung clock seõ ñöôïc ñöa ra töø pin SCL vaø döõ lieäu ñöôïcñöa ra töø pin SDA. Byte döõ lieäu ñaàu tieân phaûi laø byte ñòa chæ xaùc ñònh I2C Slave caàn gia ...
Nội dung trích xuất từ tài liệu:
Giáo trình hoàn chỉnh vi điều khiển-Phần 7 Hình 2.31 Sô ñoà khoái MSSP (I2C Master mode).I2C Master ñoùng vai troø tích cöïc trong quaù trình giao tieáp vaø ñieàu khieån caùc I2C Slave thoângqua vieäc chuû ñoäng taïo ra xung giao tieáp vaø caùc ñieàu kieän Start, Stop khi truyeàn nhaän döõ lieäu.Moät byte döõ lieäu coù theå ñöôïc baét ñaàu baèng ñieàu kieän Start, keát thuùc baèng ñieàu kieän Stop hoaëcbaét ñaàu vaø keát thuùc vôùi cuøng moät ñieàu kieän khôûi ñoäng laëp laïi (Repeated Start Condition).Xung giao tieáp noái tieáp seõ ñöôïc taïo ra töø BRG (Baud Rate Generator), giaù trò aán ñònh taàn soáxung clock noái tieáp ñöôïc laáy töø 7 bit thaáp cuûa thanh ghi SSPADD. Khi döõ lieäu ñöôïc ñöa vaøothanh ghi SSPBUF, bit BF ñöôïc set vaø BRG töï ñoäng ñeám ngöôïc veà 0 vaø döøng laïi, pin SCLñöôïc giöõ nguyeân traïng thaùi tröôùc ñoù.Khi döõ lieäu tieáp theo ñöôïc ñöa vaøo, BRG seõ caàn moätkhoaûng thôøi gian TBRG töï ñoäng reset laïi giaù trò ñeå tieáp tuïc quaù trình ñeám ngöôïc. Moãi voøngleänh (coù thôøi gian TCY ) BRG seõ giaûm giaù trò 2 laàn. Hình 2.32 Sô ñoà khoái BRG (Baud Rate Benerator) cuûa I2C Master mode.Caùc giaù trò cuï theå cuûa taàn soá xung noái tieáp do BRG taïo ra ñöôïc lieät keâ trong baûng sau: Trong ñoù giaù trò BRG laø giaù trò ñöôïc laáy töø 7 bit thaáp cuûa thanh ghi SSPADD. Do I2Côû cheá ñoä Master mode, thanh ghi SSPADD seõ khoâng ñöôïc söû duïng ñeå chöùa ñòa chæ, thay vaøoñoù chöùc naêng cuûa SSPADD laø thanh ghi chöùa giaù trò cuûa BRG. Ñeå taïo ñöôïc ñieàu kieän Start, tröôùc heát caàn ñöa hai pin SCL vaø SDA leân möùc logic caovaø bit SEN (SSPCON2) phaûi ñöôïc set. Khi ñoù BRG seõ töï ñoäng ñoïc giaù trò 7 bit thaáp cuûathanh ghi SSPADD vaø baét ñaàu ñeám. Sau khoaûng thôøi gian TBRG, pin SDA ñöôïc ñöa xuoángmöùc logic thaáp. Traïng thaùi pin SDA ôû möùc logic thaáp vaø pin SCL ôû möùc logic cao chính laøñieàu kieän Start cuûa I2C Master mode. Khi ñoù bit S (SSPSTAT) seõ ñöôïc set. Tieáp theoBRG tieáp tuïc laáy giaù trò töø thanh ghi SSPADD ñeå tieáp tuïc quaù trình ñeám, bit SEN ñöôïc töïñoäng xoùa vaø côø ngaét SSPIF ñöôïc set. Trong tröôøng hôïp pin SCL vaø SDA ôû traïng thaùi logic thaáp, hoaëc laø trong quaù trình taïoñieàu kieän Start, pin SCL ñöôïc ñöa veà traïng thaùi logic thaáp tröôùc khi pin SDA ñöôïc ñöa veàtrang thaùi logic thaáp, ñieàu kieän Start seõ khoâng ñöôïc hình thaønh, côø ngaét BCLIF seõ ñöôïc set vaøI2C seõ ôû traïng thaùi taïm ngöng hoaït ñoäng (Idle). Hình 2.33 Giaûn ñoà xung I2C Master mode trong quaù trình taïo ñieàu kieän Start. Tín hieäu Stop seõ ñöôïc ñöa ra pin SDA khi keát thöùc döõ lieäu baèng caùch set bit PEN(SSPCON2). Sau caïnh xuoáng cuûa xung clock thöù 9 vaø vôùi taùc ñoäng cuûa bit ñieàu khieånPEN, pin SDA cuõng ñöôïc ñöa xuoáng möùc thaáp, BRG laïi baét ñaàu quaù trình ñeám. Sau moätkhoaûng thôøi gian TBRG, pin SCL ñöôïc ñöa leân möùc logic cao vaø sau moät khoaûng thôøi gianTBRG nöõa pin SDA cuõng ñöôïc ñöa leân möùc cao. Ngay taïi thôøi ñieåm ñoù bit P (SSPSTAT)ñöôïc set, nghóa laø ñieàu kieän Stop ñaõ ñöôïc taïo ra. Sau moät khoaûng thôøi gian TBRG nöõa, bit PENtöï ñoäng ñöôïc xoùa vaø côø ngaét SSPIF ñöôïc set. Hình 2.34 Giaûn ñoà xung I2C Master mode trong quaù trình taïo ñieàu kieän Stop. Ñeå taïo ñöôïc dieàu kieän Start laëp laïi lieân tuïc trong quaù trình truyeàn döõ lieäu, tröôùc heátcaàn set bit RSEN (SSPCON2). Sau khi set bit RSEN, pin SCL ñöôïc ñöa xuoáng möùc logicthaáp, pin SDA ñöôïc ñöa leân möùc logic cao, BRG laáy giaù trò töø thanh ghi SSPADD vaøo ñeå baétyñaàu quaù trình ñeám. Sau khoaûng thôøi gian TBRG, pin SCL cuõng ñöôïc ñöa leân möùc logic caotrong khoaûng thôøi gian TBRG tieáp theo. Trong khoaûng thôøi gian TBRG keá tieáp, pin SDA laïi ñöôïcñöa xuoáng möùc logic thaáp trong khi SCL vaãn ñöôïc giöõ ôû möùc logic cao. Ngay thôøi ñieåm ñoù bitS (SSPSTAT) ñöôïc set ñeå baùo hieäu ñieàu kieän Start ñöôïc hình thaønh, bit RSEN töï ñoängñöôïc xoùa vaø côø ngaét SSPIF seõ ñöôïc set sau moät khoaûng thôøi gian TBRG nöõa. Luùc naøy ñòa chæcuûa I2C Slave coù theå ñöôïc ñöa vaøo thanh ghi SSPBUF, sau ñoù ta chæ vieäc ñöa tieáp ñòa chæhoaëc döõ lieäu tieáp theo vaøo thanh ghi SSPBUF moãi khi nhaän ñöôïc tín hieäu töø I2C Slave,I2C Master seõ töï ñoäng taïo tín hieäu Start laëp laïi lieân tuïc cho quaù trình truyeàn döõ lieäu lieân tuïc. Caàn chuù yù laø baát cöù moät trình töï naøo sai trong quaù trình taïo ñieàu kieän Start laëp laïi seõlaøm cho bit BCLIF ñöôïc set vaø I2C ñöôïc ñöa veà traïng thaùi “Idle”. Hình 2.35 Giaûn ñoà xung I2C Master mode trong quaù trình taïo ñieàu kieän Start lieân tuïc. Xeùt quaù trình truyeàn döõ lieäu, xung clock seõ ñöôïc ñöa ra töø pin SCL vaø döõ lieäu ñöôïcñöa ra töø pin SDA. Byte döõ lieäu ñaàu tieân phaûi laø byte ñòa chæ xaùc ñònh I2C Slave caàn gia ...
Tìm kiếm theo từ khóa liên quan:
phần cứng máy tính tài liệu phần cứng sữa chữa phần cứng cài đặt phần cứng tin học về phần cứngGợi ý tài liệu liên quan:
-
50 trang 481 0 0
-
Báo cáo môn Vi xử lý - TÌM HIỂU VỀ CÁC BỘ VI XỬ LÝ XEON CỦA INTEL
85 trang 152 0 0 -
Bài giảng Phần cứng máy tính: Bài 11 - TC Việt Khoa
19 trang 149 0 0 -
Bài giảng Phần cứng máy tính: Bài 1 - TC Việt Khoa
27 trang 123 0 0 -
29 trang 115 0 0
-
Đề cương học phần Tin học đại cương
23 trang 102 0 0 -
Báo cáo thực tập tốt nghiệp Lắp ráp, cài đặt, sửa chữa máy tính
77 trang 82 0 0 -
Giáo trình Cấu trúc máy tính: Phần 1 - Tống Văn On (chủ biên)
289 trang 70 0 0 -
Giáo trình về kiến trúc máy tính
171 trang 60 0 0 -
Giáo trình Cấu trúc máy tính: Phần 2 - Tống Văn On (chủ biên)
282 trang 52 0 0