thiết kế mạch đồng hồ cho hệ thống chỉ sử dụng 1 port để giao tiếp
Trang 1TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN
KHOA KỸ THUẬT MÁY TÍNH
-BÙI THANH HÙNG 09520119 PHẠM XUÂN SƠN 09520252
THIẾT KẾ MẠCH ĐỒNG HỒ CHO HỆ THỐNG CHỈ SỬ DỤNG 1 PORT ĐỂ GIAO TIẾP
BÁO CÁO THỰC TẬP TỐT NGHIỆP
Ngành: Kỹ Thuật Máy Tính MSSV: 09520119
09520252
NGƯỜI HƯỚNG DẪN Trưởng phòng kỹ thuật lập trình – điều khiển
Đỗ Xuân Triều
Thành phố Hồ Chí Minh – Năm 2013
Trang 2LỜI CẢM ƠN
Trước tiên em xin chân thành cảm ơn anh Đỗ Xuân Triều đã tận tình hướng dẫn, góp ý và động viên chúng em trong suốt quá trình thực tập tại Công Ty Xin chân thành cảm ơn quý thầy cô Trường ĐH Công Nhệ Thông Tin đã truyền đạt những kiến thức vô cùng quý báu trong 4 năm vừa qua Em cũng xin gửi lời cám ơn đến quý Công Ty TNHH Tầm Nhìn Thông Minh đã cho bọn em có cơ hội thực tập tại công ty để bọn em có thể áp dụng những kiến thức đã được học ở trường vào thực tế Những lời cảm ơn sau cùng xin dành cho ba mẹ, các anh chị trong gia đình đã hết lòng quan tâm và tạo điều kiện cho em hoàn thành báo cáo này
Nhóm chúng em xin chân thành cảm ơn!
Trang 3LỜI ĐÁNH GIÁ KẾT QUẢ THỰC TẬP
-
-
-
- -
-
-
-
-
-
- -
-
Trang 4
-
-
Chữ ký,họ tên người đánh giá: MỤC LỤC Mục Lục Mục Lục 4
A Thiết kế mạch 7
1 Sơ đồ vật lý 7
a) Sơ đồ mạch 7
b) Nguyên lý hoạt động 9
2 Layout 17
B Test mạch 18
Trang 5I Lịch làm việc tại nơi thực tập
Thời gian thực tập : từ cuối tháng 2 đến cuối tháng 5
Kết hợp làm việc tại nhà và trên công ty Mỗi tuần lên công ty 3 ngày để thảo luận và làm việc
II Giới thiệu về công ty Smart Vision –Tầm nhìn thông minh.
Công ty Trách Nhiệm Hữu Hạn Tầm Nhìn Thông Minh – SmartVision Tech Ltd Co – là nhà cung cấp dịch vụ về thiết kế và thi công các công trình nước phục vụ cho giải trí
ở trình độ chuyên nghiệp với tính thẩm mỹ cao
Công ty : SMARTVISION TECH CO LTD
Địa chỉ : 139, Đường D2, P 25, Q Bình Thạnh, Tp HCM
Điện thoại : (+84) 0908.327.306
Email : info@smartvision.com.vn
Hiện nay, hệ thống giải trí nước do SmartVision cung cấp được chia thành 4 dòng sản phẩm chính sau:
• Màn nước nghệ thuật
• Phun nước nghệ thuật
• Trình diễn nhạc nước
• Đồng hồ nước
Với “Màn nước nghệ thuật” là sản phẩm chiến lược, lần đầu tiên được thi công và lắp ráp tại Việt Nam Ngoài ra, công ty còn là đơn vị cung cấp thiết bị chuyên dụng cho hệ thống phun nước bao gồm hệ thống vòi phun, hệ thống điều khiển, máy bơm, đèn led chìm
Công ty phát triển bền vững trên cơ sở thân thiện với môi trường, luôn đặt lợi ích của khách hàng lên trên hết với mục tiêu trở thành 1 trong những công ty hàng đầu Việt Nam
về sản xuất, kinh doanh thiết bị và triển khai dịch vụ tự động hoá cho ngành công nghiệp giải trí
Trang 6Sản xuất đèn trang trí sân vườn, đèn dưới nước
SmartVision chuyên sản xuất đèn Led chiếu sáng cho trang trí sân vườn – Đài phun nước Nhận đặt sản xuất đèn theo mẫu của khách hàng với chất liệu vỏ bằng Composite – Inox
Trình diễn nhạc nước
Hệ thống nhạc nước là hệ thống biểu diễn nước kết hợp với ánh sáng, trình chiếu trên nền
âm nhạc với công nghệ tiên tiến – là hệ thống giải trí cao cấp bậc nhất hiện nay
• Triển khai cho các sự kiện với mọi quy mô lớn nhỏ
• Hệ thống vòi phun, âm thanh & ánh sáng chuyên nghiệp
• Vận hành hoàn toàn tự động phù hợp với từng bài nhạc
Bộ lắp đặt nhạc nước mini cho quán Café nhà hàng, trong nhà.
Cung cấp bộ điều khiển nhạc nước cho các hồ phun nước mini tại các quán cafe, nhà hàng, khách sạn, các hồ phun nước trong nhà…
Đồng hồ nước
Hệ thống đồng hồ nước cho phép hiển thị đồng hồ số hoặc ký tự số theo thời gian thực, được thiết kế nhằm mục đích hiển thị thông tin ở những nơi tập trung đông người như quảng trường, công viên
• Hệ thống hiển thị chính xác theo thời gian thực
• Thông tin hiển thị được thay đổi hoàn toàn tự động
• Thiết kế phối cảnh với tính thẩm mỹ cao
III Nội dung nhiệm vụ chính được giao
Để phục vụ cho quá trình thực tập cũng như học tập tốt và hiểu sâu về chuyên ngành ngoài những kiến thức trên sách vở cần có những ứng dụng vào thực tế Trên cơ sở đó chúng em được nhận nhiệm vụ tìm hiểu và thiết kế sản phẩm là THIẾT KẾ MẠCH ĐỒNG HỒ CHO HỆ THỐNG CHỈ SỬ DỤNG 1 PORT ĐỂ GIAO TIẾP dùng vi điều khiển AVR của ATMEL Có khả năng điều chỉnh và thay đổi được thời gian
Vì thế công việc chính bao gồm :
• Thiết kê mạch – sơ đồ vật lý
• Test mạch
Trang 7IV Nội dung các công việc và kết quả đạt được
A Thiết kế mạch
1 Sơ đồ vật lý
a) Sơ đồ mạch
Khối vi điều khiển
Khối nguồn
Trang 8 Khối ds1307
Khối 74HC595 và LED
Trang 9b) Nguyên lý hoạt động
• Nguyên lý hoạt động của từng linh kiện
• IC thời gian thực DS1307
a) Giới thiệu chung về DS1307:
IC thời gian thực là họ vi điều khiển của hãng dalat DS1307 có một số đặc trưng
cơ bản sau:
- DS1307 là IC thời gian thực với nguồn cung cấp nhỏ dùng để cập nhật thời gian và ngày tháng
- SRAM :56bytes
- Địa chỉ và dữ liệu được truyền nối tiệp qua 2 đường bus 2 chiều
- DS1307 có môt mạch cảm biến điện áp dùng để dò các điện áp lỗi và tự động đóng ngắt với nguồn pin cung cấp 3V:
+ DS1307 có 7 byte dữ liệu nằm từ địa chỉ 0x00 tới 0x06, 1 byte điểukhiển, và 56 byte lưu trữ ( dành cho người sủ dụng )
+ Khi xử lý dữ liệu từ DS1307, họ đã tự chuyển cho ta về dạng số BCD, ví
dụ như ta đọc được dữ liệu từ địa chỉ 0x04 (tưong ứng với Day- ngày trong tháng)
và tại 0x05 (tháng) là 0x15, 0x11
+ Lưu ý đến vai trò của chân SQW/OUT Đây là chân cho xung ra của DS1307
có 4 chế độ 1Hz, 4.096HZ, 8.192Hz, 32.768Hz các chế độ này đuợc quy định bởi các bít của thanh ghi Control Register (địa chỉ 0x07 )
+ Địa chỉ của DS1307là 0xD0
- Cơ chế hoạt động : DS1307 hoạt động với vai trò slave trên đường bus nối tiếp.Việc truy cập được thi hành với chỉ thị start và một mã thiết bị nhất định được cung cấp bởi địa chỉ các thanh ghi Tiếp theo đó các thanh ghi sẽ được truy cập liên tục đến khi chỉ thị stop đươc thực thi
b) Cơ chế hoạt động và chức năng của DS1307
Vcc: nối với nguồn
X1,X2: nối với thạch anh 32,768 kHz
Vbat: đầu vào pin 3V
Trang 10GND: đất
SDA: chuỗi data
SCL: dãy xung clock
SQW/OUT: xung vuông/đầu ra driver
DS1307 là một IC thời gian thực với nguồn cung cấp nhỏ, dùng để cập nhật thời gian và ngày tháng với 56 bytes SRAM Địa chỉ và dữ liệu được truyền nối tiếp qua 2 đường bus 2 chiều Nó cung cấp thông tin về giờ,phút,giây ,thứ,ngày ,tháng, năm.Ngày cuối tháng sẽ tự động được điều chỉnh với các tháng nhỏ hơn 31 ngày,bao gồm cả việc tự động nhảy năm Đồng hồ có thể hoạt động ở dạng 24h hoặc 12h với chỉ thị AM/PM DS1307 có một mạch cảm biến điện áp dùng để dò các điện áp lỗi và tự động đóng ngắt với nguồn pin cung cấp
DS 1307 hoạt động với vai trò slave trên đường bus nối tiếp Việc truy cập được thi hành với chỉ thị START và một mã thiết bị nhất định được cung cấp bởi địa chỉ các thanh ghi Tiếp theo đó các thanh ghi sẽ được truy cập liên tục đến khi chỉ thị STOP được thực
thi
Mô tả hoạt động của các chân:
- Vcc,GND: nguồn một chiều được cung cấp tới các chân này Vcc là đầu vào 5V Khi 5V được cung cấp thì thiết bị có thể truy cập hoàn chỉnh và dữ liệu có thể đọc và viết Khi pin 3 V được nối tới thiết bị này và Vcc nhỏ hơn 1,25Vbat thì quá trình đọc và viết không được thực thi,tuy nhiên chức năng timekeeping không bị ảnh hưởng bởi điện
áp vào thấp Khi Vcc nhỏ hơn Vbat thì RAM và timekeeper sẽ được ngắt tới nguồn cung cấp trong (thường là nguồn 1 chiều 3V)
- Vbat: Đầu vào pin cho bất kỳ một chuẩn pin 3V Điện áp pin phải được giữ trong khoảng từ 2,5 đến 3V để đảm bảo cho sự hoạt động của thiết bị
- SCL(serial clock input): SCL được sử dụng để đồng bộ sự chuyển dữ liệu trên đường dây nối tiếp
- SDA(serial data input/out): là chân vào ra cho 2 đường dây nối tiếp Chân SDA thiết
kế theo kiểu cực máng hở , đòi hỏi phải có một điện trở kéo trong khi hoạt động
- SQW/OUT(square wave/output driver)- khi được kích hoạt thì bit SQWE đượcthiết lập 1 chân SQW/OUT phát đi 1 trong 4 tần số (1Hz,4kHz,8kHz,32kHz) Chân này cũng được thiết kế theo kiểu cực máng hở vì vậy nó cũng cần có một điện trở kéo trong Chân nàysẽ hoạt động khi cả Vcc và Vbat được cấp
Trang 11- X1,X2: được nối với một thạch anh tần số 32,768kHz Là một mạch tạo dao động ngoài, để hoạt động ổn định thì phải nối thêm 2 tụ 33pF Cũng có DS1307 với bộ tạo dao động trong tần số 32,768kHz, với cấu hình này thì chân X1 sẽ được nối vào tín hiệu dao động trong còn chân X2 thì để hở
Sơ đồ địa chỉ RAM và RTC
Thông tin về thời gian và ngày tháng được lấy ra bằng cách đọc các byte thanh ghi thích hợp thời gian và ngày tháng được thiết lập cũng thông qua các byte thanh ghi này bằng cách viết vào đó những giá trị thích hợp nội dung của các thanh ghi dưới dạng mã BCD(binary coded decreaseimal) Bit 7 của thanh ghi seconds là bit clock halt(CH),khi bit này được thiết lập 1 thì dao động disable, khi nó được xoá về 0 thì dao động được enable
Chú ý: enable dao động trong suốt quá trình cấu hình thiết lập (CH=0).Thanh ghi thời gian thực được mô tả như sau:
DS1307 có thể chạy ở chế độ 24h cũng như 12h Bit thứ 6 của thanh ghi hours là bit chọn chế độ 24h hoặc 12h khi bit này ở mức cao thì chế độ 12h được chọn ở chế độ 12h thì bit 5 là bit AM/PM với mức cao là là PM ở chế độ 24h thì bit 5 là bit chỉ 20h(từ 20h đến 23h)
Trang 12• LED 7thanh:
Led 7 thanh bao gồm nhiều loại led tích hợp bên trong các led được nối chung nhau 1 chân Trong thực tế có 2 loại led 7 thanh là loại anot chung và loại katot chung Trong chương trình này sử dụng loại anot chung , các led sẽ có chung nhau chân nguồn (chân dương) chân còn lại a,b,c,d,e,f,g của led nào được nối đất thì led đó sẽ sáng
• IC ghi dịch 74HC595
a Chức năng :
Là ic ghi dịch 8bit kết hợp chốt dữ liệu , đầu vào nối tiếp đầu ra song song
Chức năng: Thường dùng trong các mạch quét led 7 , led matrix …để tiết kiệm số chân VDK tối đa (3 chân) Có thể mở rộng số chân vi điều khiển bao nhiêu tùy thích mà không ic nào có thể làm được bằng việc mắc nối tiếp đầu vào dữ liệu các ic với nhau
b Sơ đồ chân:
Sơ đồ hoạt động của chip :
• Nút nhấn
Sử dụng loại nút nhấn 2 chân
• Thạch anh cho DS1307
Thạch anh loại 32.768kHz
• Pin 3V cho DS1307
Trang 13Pin Lithium Panasonic CR-2032.
• Nguyên lý hoạt động của toàn mạch
Dữ liệu thời gian sẽ được đưa từ khối DS1307 vào vi điều khiển rồi từ đó đưa ra thanh ghi dịch 74HC595 rồi hiển thị lên led Sử dụng các nút nhấn để thiết lập thời gian
Giao tiếp giữa Vi điều khiển và DS1307 sử dụng chuẩn giao tiếp I2C
• Giới thiệu về chuẩn giao tiếp I2C
TWI (Two-Wire Serial Intereafce) là một module truyền thông nối tiếp đồng bộ trên các chip AVR dựa trên chuẩn truyền thông I2C I2C là viết tắc của từ Inter-Integrated Circuit là một chuẩn truyền thông do hãng điện tử Philips Semiconductor sáng lập và xây dựng thành chuẩn năm 1990 Phiên bản mới nhất của I2C là V3.0 phát hành năm 2007
TWI (I2C) là một truyền thông nối tiếp đa chip chủ (multi-master serial computer bus) Khái niệm “multi-master” được hiểu là trong trên cùng một bus có thể có nhiều hơn một thiết bị làm Master, đồng thời một Slave có thể trở thành một Master nếu nó có khả năng Ví dụ trong một mạng TWI của nhiều AVR kết nối với nhau, bất kỳ một AVR nào đều có thể trở thành Master ở một thời điểm nào đó Tuy nhiên nếu một mạng dùng một AVR điều khiển các chip nhớ (như EEPROM AT24C1024 chẳng hạn) thì khái niệm
“multi-master” không tồn tại vì các chip nhớ được thiết kế sẵn là Slave, không có khả năng trở thành master TWI (I2C) được thực hiện trên 2 đường SDA (Serial DATA) và SCL (Serial Clock) trong đó SDA là đường truyền/nhận dữ liệu và SCL là đường xung nhịp Căn cứ theo chuẩn I2C, các đường SDA và SCL trên các thiết bị có cấu hình “cực góp mở” (open-drain hoặc open-collector), nghĩa là cần có các “điện trở kéo lên” (pull-up resistor) cho các đường này Ở trạng thái nghỉ (Idle), 2 chân SDA và SCL ở mức cao Hình 1 mô tả một mô hình mạng TWI (I2C) cơ bản
Hình 1 Mạng TWI (I2C) với nhiều thiết bị và 2 điện trở kéo lên cho SDA, SCL.
Tiếp theo chúng ta tìm hiểu một số khái niệm và đặc điểm của TWI Các khái niệm
và đặc điểm tôi đề cập dưới đây được dùng cho cả TWI và I2C, nếu có sự khác biệt tôi sẽ giải thích thêm
Trang 14Master: là chip khởi động quá trình truyền nhận, phát đi địa chỉ của thiết bị cần giao tiếp và tạo xung giữ nhịp trên đường SCL
Slave: là chip có một địa chỉ cố định, được gọi bởi Master và phục vụ yêu cầu từ Master
SDA- Serial Data: là đường dữ liệu nối tiếp, tất cả các thông tin về địa chỉ hay dữ liệu đều được truyền trên đường này theo thứ tự từng bit một Chú ý là trong chuẩn I2C, bit có trọng số lớn nhất (MSB) được truyền trước nhất, đặc điểm này ngược lại với chuẩn UART
SCL –Serial Clock: là đường giữ nhịp nối tiếp TWI (I2C) là chuần truyền thông nối tiếp đồng bộ, cần có 1 đường tạo xung giữ nhịp cho quá trình truyền/nhận, cứ mỗi xung trên đường giữ nhịp SCL, một bit dữ liệu trên đường SDA sẽ được lấy mẫu (sample) Dữ liệu nối tiếp trên đường SDA được lấy mẫu khi đường SCL ở mức cao trong một chu kỳ giữ nhịp, vì thế đường SDA không được đổi trạng thái khi SCL ở mức cao (trừ START
và STOP condition) Chân SDA có thể được đổi trạng thái khi SCL ở mức thấp
START Condition-Điều kiện bắt đầu: từ trạng thái nghỉ, khi cả SDA và SCL ở mức cao nếu Master muốn thực hiện một “cuộc gọi”, Master sẽ kéo chân SDA xuống thấp trong khi SCL vẫn cao Trạng thái này gọi là START Condition (chúng ta gọi tắt là S) STOP Condition-Điều kiện kết thúc: sau khi thực hiện truyền/nhận dữ liệu, nếu Master muốn kết thúc quá trình nó sẽ tạo ra một STOP condition STOP condition được Master thực hiện bằng cách kéo chân SDA lên cao khi đường SCL đang ở mức cao STOP condition chỉ được tạo ra sau khi địa chỉ hoặc dữ liệu đã được truyền/nhận REPEAT START – Bắt đầu lặp lại: khoảng giữa START và STOP condition là khoảng bận của đường truyền, các Master khác không tác động được vào đường truyền trong khoảng này Trường hợp sau khi kết thúc truyền/nhận mà Master không gởi STOP condition lại gởi thêm 1 START condition gọi là REPEAT START Khả năng này thường được dùng khi Master muốn lấy dữ liệu liên tiếp từ các Slaves Hình bên dưới mô
tả các Master tạo ra START, STOP và REPEAT START
Trang 15Address Packet Format – Định dạng gói địa chỉ: trên mạng TWI (I2C), tất cả các thiết bị (chip) đều có thể là Master hay Slave Mỗi thiết bị có một địa chỉ cố định gọi là Device address Khi một Master muốn giao tiếp với một Slave nào đó, nó trước hết tạo ra một START condition và tiếp theo là gởi địa chỉ Device address của Slave cần giao tiếp trên đường truyền, vì thế xuất hiện khái niệm “gói địa chỉ” (Address Packet) Gói địa chỉ trong TWI (I2C) có định dạng 9 bits trong đó 7 bit đầu (gọi là SLA, được gởi liền sau START condition) chứa địa chỉ Slave, một bit READ/WRITE và một bit ACK-Ackknowledge (xác nhận) Do bit địa chỉ có độ dài 7 bits nên về mặt lý thuyết, trên 1 mạng TWI (I2C) có thể tồn tại tối đa 2^7=128 thiết bị có địa chỉ riêng biệt Tuy nhiên, có một số địa chỉ không được sử dụng như các địa chỉ có định dạng 1111xxx (tức các địa chỉ lớn hơn hoặc bằng 120 không được dùng) Riêng địa chỉ 0 được dùng cho “cuộc gọi chung” (General call) Bit READ/WRITE (R/W) được truyền tiếp sau 7 bit địa chỉ là bit báo cho Slave biết Master muốn “đọc” hay “ghi” vào Slave Nếu bit này bằng 0 (gọi là W) thì quá trình “Ghi” dữ liệu từ Master đến Slave được yêu cầu, nếu bit này bằng 1 (gọi
là R) thì Master muốn “đọc” dữ liệu từ Slave về Tám bits trên (SLA+R/W) được Master phát ra sau khi phát START condition, nếu một Slave trên mạng nhận ra rằng địa chỉ mà Master yêu cầu trùng khớp với Device address của chính mình, nó sẽ “đáp trả” lại Master bằng cách phát ra 1 tín hiệu “xác nhận” ACK bằng cách kéo chân SDA xuống thấp trong xung thứ 9 Ngược lại, nếu không có Slave đáp ứng lại, chân SDA vẫn ở mức cao trong xung giữ nhịp thứ 9 thì gọi là tín hiệu “không xác nhận” – NOT ACK, lúc này Master cần
có những ứng xử phù hợp tùy theo mỗi trường hợp cụ thể, ví dụ Master có thể gởi STOP condition và sau đó phát lại địa chỉ Slave khác…Như vậy, trong 9 bit của gói địa chỉ thì chỉ có 8 bit được gởi bởi Master, bit còn lại là do Slave Ví dụ Master muốn yêu cầu
“đọc” dữ liệu từ Slave có địa chỉ 43, nó cần phát đi một byte như sau trên đường truyền: (43<<1)+1, trong đó (43<<1) là dịch số 43 về bên trái 1 vị trí vì 7 bit địa chỉ nằm ở các vị trí cao trong gói địa chỉ, sau đó cộng giá trị này với “1” tức là quá trình “đọc” được yêu cầu