3. Họ và tên giáo viên hướng dẫn: TS Nguyễn Trường Thịnh
2.6.5.2. Các MODE vận hành
Loạt IC ISD2500 được thiết kế nhiều chế độ ( mode ) vận hành được xây dựng bên trong cung cấp tối đa các chức năng với các thành phần bên ngoài ít nhất. Các mode này được mô tả chi tiết trong bảng bên dưới. Mode vận hành được truy cập bằng các đường địa chỉ bên ngoài khi A8 và A9 ở mức cao. Kh i A8 và A9 ở mức cao thì các chân A0→ A7 được hiểu là những bit mode chứ không còn là những bit địa chỉ nữa.
Vì vậy chế độ mode và cách định địa chỉ trực tiếp không thể tương hợp hay nói cách khác chúng không thể sử dụng đồng thời. Có hai vấn đề quan trọng cần xem xét khi sử dụng chế độ mode. Một là, tất cả các chế độ vận hành đều bắt đầu từ địa chỉ 0 của bộ nhớ. Sự vận hành sau đó có thể bắt đầu từ một địa chỉ khác, điều này phụ thuộc vào mode vận hành đã chọn. Thêm vào đó con trỏ địa chỉ sẽ reset về 0 khi thiết bị thay đổi từ ghi sang phát, từ phát sang ghi ( ngoại trừ trường hợp sử dụng mode 6 ) hoặc khi chu kỳ nguồn giảm được thi hành (power down). Hai là, các mode vận hành được thi hành khi CE xuống mức thấp. Mode vận hành sẽ duy trì ảnh hưởng cho đến khi tín hiệu tại chân CE xuống mức thấp lần nữa.
Bảng các mode vận hành
Bảng 2.14 Các mode vân hành của ISD 2500
56
Các Mode vận hành có thể được sử dụng liên kết với một vi điều khiển, hoặc chúng có thể kiểm soát bằng mạch điện tử để cung cấp một hệ thống như mong muốn.
- M0 – Message Cueing:
Mode cho phép người dùng bỏ qua thông tin này để đến thông tin khác mà chúng ta không cần biết địa chỉ vật lý thực sự của mỗi thông tin. Mỗi một xung CE ở mức thấp là nguyên nhân khiến con trỏ địa chỉ bên trong bỏ qua thông tin hiện hành nhảy đến một thông tin kế tiếp. Mode này chỉ sử dụng cho chế độ phát lại và nó thường được sử dụng kết hợp với mode 4.
- M1- Delete EOM Markers:
Mode M1 cho phép ghi một cách tuần tự thông tin để kết hợp thành một thông tin riêng lẻ với chỉ một dấu kết EOM đặt tại vị trí cuối của thông tin sau cùng. Khi Mode này được cấu thành thì những thông tin đã ghi một cách tuần tự sẽ được phát lại như một thông tin liên tục.
- M2- Unused
Khi vận hành các mode đã chọn chân 2 nên được nối xuống mức thấp. - M3- Message Looping:
Mode này cho phép tự động, tiếp tục lặp lại thông tin phát tại địa chỉ bắt đầu của không gian địa chỉ. Một thông tin có thể hoàn toàn làm đầy ISD2560 và sẽ lặp lại từ đầu đến cuối mà OVF không đi xuống mức thấp
- M4 – Consecutive Addressing:
Trong suốt chế độ vận hành bình thường, con trỏ địa chỉ sẽ được reset khi một thông tin đang chơi xuyên qua dấu kết EOM . Mode M4 ngăn cấm con trỏ địa chỉ reset khi gặp dấu kết EOM , cho phép thông tin được phát lại liên tục.
- M5 – CE - Level – Activated:
Mode mặc định của ISD2560 cho phép CE tác động cạnh khi phát lại và tác động mức khi ghi. Chế độ M5 làm cho chân CE được hiểu là tác động mức thay vì tác động cạnh trong suốt quá trình phát lại. Đây là một hữu ích đặc biệt để kết thúc việc phát lại sử dụng tín hiệu CE. Trong mode này mức thấp chân CE bắt đầu cho một chu kỳ phát lại, tại vị trí bắt đầu của bộ nhớ. Chu kỳ phát lại được tiếp tục miễn là chân CE được giữ ở mức thấp. Khi CE lên mức cao thì việc phát lại sẽ được dừng ngay lập tức. Khi một mức thấp mới ở CE xuất hiện, nó sẽ khởi động lại thông tin từ địa chỉ bắt đầu ( ngoại trừ M4 lúc này cũng ở mức cao ).
57 - M6 – Chế độ Push – Button
Tất cả các IC loạt ISD2500 đều chứa chế độ vận hành Push -Button. Chế độ M6 chủ yếu được sử dụng trong các ứng dụng giá rất thấp và được thiết kế với các mạch điện và thành phần bên ngoài giảm đến mức tố i thiểu vì thế làm giảm giá thành của hệ thống. Để cấu thành mode 6 thì hai chân A8 và A9 phải ở mức cao và chân đặt chế độ M6 cũng phải ở mức cao. Một IC sử dụng mode này thì luôn luôn nguồn giảm tại vị trí cuối của mỗi chu kỳ ghi/phát sau khi CE ở mức cao. Khi mode này vận hành ba chân của IC có chức năng điều khiển được miêu tả trong bảng sau:
Bảng 2.15 Chế độ Push – Button các Ic loạt ISD2500
- Chân CE (Start/Stop):
Trong mode vận hành Push-Button tín hiệu tác động xung LOW trên chân CE được xem là tín hiệu Start/Stop. Nếu không có hệ thống hiện hành đang được xử lý, xung mức thấp trên chân CE sẽ khởi động chu kỳ ghi hoặc phát lại tuỳ thuộc vào mức điện áp trên chân P/ R . Một xung sau nữa của chân CE xuất hiện, trước khi gặp dấu kết EOM trong khi phát lại hoặc trước khi dữ liệu bị tràn trong chế độ ghi, nó sẽ làm dừng sự vận hành, và bộ đếm địa chỉ không bị reset. Một xung CE tiếp theo nữa sẽ làm cho thiết bị tiếp tục vận hành tại nơi mà nó đã dừng.
- Chân PD ( Stop/ Reset ):
Trong chế độ vận hành Push – Button, tín hiệu xung mức cao của chân PD được xem là tín hiệu Stop/Reset. Khi một chu kỳ ghi hoặc phát lại đang được xử lý, một xung cao trên chân PD, chu kỳ hiện hành sẽ được dừng và con trỏ địa chỉ sẽ được reset về 0, địa chỉ bắt đầu của khoảng không thông tin.
- EOM (RUN):
Trong chế độ vận hành Push-Button, tín hiệu EOM trở thành tín hiệu “tích cực chạy mức cao” có thể được sử dụng để thúc một led hoặc một thiết bị bên ngoài khác. Chân này ở mức cao bất cứ khi nào hệ thống ghi hoặc phát lại đang được xử lý.
58 Ghi trong chế độ Push-Button
• Chân PD ở mức thấp, thường sử dụng một điện trở kéo xuống.
• Chân P/ R ở mức thấp.
• Chân CE là xung mức thấp. Bắt đầu ghi, EOM tự động lên mức cao chỉ định rằng hệ thống vận hành đang được xử lý.
• Khi CE có xung mức thấp tiếp theo, việc ghi bị dừng, EOM tự động xuống mức thấp. Con trỏ địa chỉ bên trong không bị xoá, nhưng dấu EOM được lưu trữ lại trong bộ nhớ chỉ định khi một thông tin kết thúc. Ch ân P/ R có thể lên mức cao trong thời gian này và bất kỳ một xung CE nào tiếp theo sẽ làm cho hệ thống phát lại tại địa chỉ 0.
• Khi chân CE là một xung thấp. Việc ghi lại tiếp tục tại địa chỉ tiếp theo sau dấu EOM đặt ở phía trước. Chân EOM lại quay trở lại mức cao.
• Khi việc ghi lần lượt được hoàn thành, xung thấp CE cuối sẽ kết thúc chu kỳ ghi sau cùng, bằng việc đặt dấu EOM tại thông tin kết thúc. Việc ghi có thể kết thúc bằng việc đặt chân PD lên mức cao, nơi mà nó sẽ để lại một dấu kết EOM .
Phát lại trong chế độ Push-Button
• Xung PD ở mức thấp.
• Chân P/ R đặt ở mức cao.
• Tác động xung thấp lên chân CE. Quá trình phát lại bắt đầu, chân EOM tự động lên mức cao cho biết hệ t hống đang xử lý.
• Nếu CE có một xung mức thấp hoặc dấu EOM được phát hiện trong quá trình vận hành, phần này sẽ bị dừng lại. Con trỏ địa chỉ bên trong không bị xóa và EOM chuyển xuống mức thấp. Chúng ta có thể thay đổi trạng thái chân P/ R trong thời gian này, khi đó một chu kỳ ghi sau đó sẽ không reset con trỏ dữ liệu và việc ghi sẽ bắt đầu tại nơi phát vừa kết thúc.
• Tác động một xung thấp trên chân CE một lần nữa, quá trình phát lại sẽ bắt đầu tại nơi mà nó vừa rời khỏi, và EOM lại lên mức cao chỉ định hệ thống đang xử lý.
59
• Việc phát lại tiếp tục như bước 4 và bước 5 cho đến khi PD được tác động bởi xung mức cao, hoặc cờ tràn được phát hiện.
• Nếu bị tràn, việc kéo CE xuống mức thấp sẽ reset con trỏ địa chỉ và bắt đầu phát lại từ địa chỉ bắt đầu. Sau khi chúng ta tác động xung trên chân PD thì phần này được reset về địa chỉ 0.
60
CHƯƠNG 3: THIẾT KẾ VÀ THI CÔNG PHẦN CỨNG
Như đã phân tích ở trên, để thực hiện đuợc đồng thời 2 chức năng vừa thu nhận dữ liệu từ GPS và truyền dữ liệu qua GPRS, module SIM548C tích hợp cả 2 phần GPS và GPRS, có bộ UART. Để lập trình điều khiển được module SIM548C thì vi điều khiển cần có 2 bộ UART. Qua nghiên cứu tìm hiểu thì vi điều khiển ATMega 128 đáp ứng được yêu cầu trên, mặt khác các linh kiện này phổ biển và có giá thành khá hợp lý. Do vậy, chúng em đã lựa chọn vi điều khiển ATMega 128 và SIM548C sử dụng trong đồ án.
Như vậy các thành phần cơ bản của hệ thống quản lý giám sát xe buýt gồm 3 phần:
- Phần thứ nhất thiết bị định vị, truyền thông và điều khiển thông tin trên xe buýt gồm: 2 thành phần chính Module SIM548C và vi điều khiển ATMega128 giao tiếp với ATMega32
- Phần thứ hai nhận dữ liệu thông báo tại các trạm dừng:Module SIM548 - Phần thứ ba Server trung tâm.
Ở đây, ta chỉ xét đến các thành phần của thiết bị định vị gồm module SIM548C và vi điều khiển ATMega128, ATEMega32; còn phần Server trung tâm ta sẽ nói ở chương sau. Đây là một phần quan trọng trong cả hệ thống. Chức năng chính của phần này có thể chia làm 2 nhiệm vụ chính:
- Chức năng ghi nhận dữ liệu, bao gồm:
• Thu thập dữ liệu GPS, xác định vị trí kinh độ, vĩ độ, tốc độ
• Chức năng kết nối và truyền nhận dữ liệu
- Thiết bị kết nối với trung tâm quản lý thông qua mạng GPRS, theo cơ chế client – server.
61 3.1. Sơ đồ khối mạch phần cứng. Vi điều khiển Atemega 128 Nguồn Hiển Thị LCD SIM548 GPS SIM548 GPRS Anten GPS Anten GSM UART0 UART1 Hình 3.1 Sơ đồ khối mạch phần cứng.
Phần thiết kế mạch cho thiết bị định vị được chia làm các khối : Khối module SIM548C , khối vi điều khiển ATMega128 và khối nguồn cung cấp, khối hiển thị.
Phần GPS thu tín hiệu định vị từ vệ tinh, sau đó gửi vào chân UART0 của ATMega128 , ATMega128 xử lý tách lấy dữ liệu cần thiết : tọa độ vị trí xe, thời gian, vận tốc xe, sau đó vi điều khiển sử dụng tập lệnh AT gửi qua cổng UART1 tới phần GPRS của module SIM548C, phần GPRS sẽ tự nhận biết được các tập lệnh của nó và thực hiện việc truyền dữ liệu về trung tâm thông qua mạng GSM với giao thức TCP/IP.
3.2. Thiết kế phần cứng cho khối modul sim 548C
Do module SIM548C được chia làm 2 phần : phần GSM/GPRS và phần GPS nên ta sẽ xét riêng từng phần.
3.2.1. Thiết kế phần cứng cho phần GSM/GPRS
Như ở chương 2 đã giới thiệu về sơ đồ chân của module SIM548C , bao gồm 60 chân DIP trong đó chân dùng cho phần GSM/GPRS có 48 chân ( từ chân 1 đến chân 48 ). Trong đồ án này nhiệm vụ chính của khối GSM/GPRS chính là truyền dữ
62
liệu qua mạng GPRS về trung tâm nên ta sẽ đề cập đến một số chân được sử dụng trong việc này.Chân VBAT cung cấp nguồn cho phần GSM/GPRS với điện áp trong khoảng 3.4 V ÷ 4.5 V , trung bình là 4V .Điều đáng chú ý là dòng cung cấp cho phần GSM/GPRS là khá lớn , nó có thể lên tới 2A.
Chân VRTC chân lưu dữ các số liệu ví dụ như thời gian …. ngay cả khi phần GSM/GPRS mất nguồn, điều này rất thích hợp khi sử dụng các loại Pin CMOS. Điện áp yêu cầu của chân VRTC vào khoảng 1.2 V ÷ 2.0 V điện áp trung bình là 1.8V.
Ta có thể khởi động phần GSM/GPRS của module bằng cách đưa chân PWRKEY xuống mức điện áp thấp trong một khoảng thời gian ngắn . Có nhiều cách để thiết lập cho chân PWRKEY , để đơn giản chúng em đã sử dụng một nút bấm được nối đất để thực hiện việc bật chế độ hoạt động cho phần GSM/GPRS.
Hình 3.2 Bật chế độ hoạt động cho phần GSM/GPRS sử dụng nút bấm
Khi hoàn thành việc bật nguồn, phần GSM/GPRS của SIM548C sẽ gửi thông báo cho vi điều khiển (thông qua chân UART1) biết rằng module đã sẵn sàng hoạt động và chân STATUS của module sẽ được kéo lên 2.8v và giữ nguyên mức điện áp này trong chế độ làm việc.
63
Ngoài chân PWRKEY sử dụng để bật chế độ hoạt động cho phần GSM/GPRS còn có một số cách khác đó là sử dụng chân VCHG hoặc chân VRTC ở chế độ cảnh báo. Chân PWRKEY cũng được dùng để tắt chế độ hoạt động của phần GSM/GPRS
Trước khi hoàn thành việc chuyển sang chế độ tắt thì module sẽ gửi kết quả như sau:
NORMAL POWER DOWN. Sau thời điểm này , các lệnh AT sẽ không còn có tác dụng nữa .Module sẽ chuyển sang chế độ POWER DOWN , chỉ duy nhất RTC vẫn hoạt động bình thường. POWER DOWN có thể nhận biết bằng chân STATUS, lúc đó chân STATUS kéo xuống điện áp thấp nhất.
Hình 3.4 Thời gian tắt chế độ hoạt động của phần GSM/GPRS
Ngoài ra ta còn có thể tắt chế độ hoạt động của phần GSM/GPRS bằng tập lệnh AT : “ AT+CPOWD = 1”. Chân NETLIGHT phát hiện trạng thái của mạng GSM/GPRS được báo hiệu qua một đèn LED, được mắc như sơ đồ bên dưới.
Bảng 3.1 Bảng trạng thái làm việc của NETLIGHT
Trạng thái LED Chức năng của phần GSM/GPRS của SIM548C
Tắt Phần GSM/GPRS của module không chạy
64ms Sáng/800ms Tắt Phần GSM/GPRS của module không tìm thấy mạng 64msSáng/3000ms
64 64ms Sáng/300ms Tắt Kết nối GPRS
Chân STATUS cũng được kết nối với một LED báo hiệu hệ thống hoạt động hay tắt như đã trình bày ở trên. Cả hai chân này khi kéo lên mức logic 1 thì làm đèn LED sáng lên và khi ở mức logic 0 thì đèn LED sẽ tắt.
Hình 3.5 Đèn LED chỉ thị cho NETLIGHT và chân STATUS
Tiếp đến ta sẽ đề cập đến một phần rất quan trọng trong việc thiết kế phần GSM/GPRS : Giao tiếp nối tiếp GSM/GPRS. Trong phần GSM/GPRS của module cung cấp 2 cổng nối tiếp không đồng bộ : Serial port và Debug port.
Serial port (Cổng giao tiếp nối tiếp)
- DCD : chân 25, phát hiện truyền dữ liệu. - DTR : chân 27, sẵn sàng dữ liệu cuối. - RXD : chân 29, nhận dữ liệu.
- TXD : chân 31, truyền dữ liệu. - RTS : chân 33, yêu cầu gửi. - CTS : chân 35, xóa để gửi. - RI : chân 37, báo hiệu chuông. - Debug port (Cổng giao tiếp gỡ rối) - DBG_RXD : chân 36, nhận dữ liệu. - DBG_TXD : chân 38, truyền dữ liệu.
65
Trong đồ án, giải pháp cho yêu cầu của đề tài ta chỉ sử dụng cổng Serial port cụ thể là 2 chân TXD và RXD. Hai chân này sẽ được kết nối tương ứng với 2 chân của vi điều khiển chân Rx và chân Tx. Do đó ta chỉ đề cập đến hai chân 29 và 31 của phần này.
Trước khi thiết kế kết nối giữa vi điều khiển với phần GSM/GPRS của module SIM548C ta phải xét đến các mức điện áp vào ra của mỗi phần.
Ta biết rằng mức logic 1 output (mức ra “ 1” Tx) của vi điều khiển ATMega128 sẽ là cỡ 5V hơn nữa mức logic 1 input (mức vào “1” RXD) của phần GSM/GPRS vào khoảng 2.1V÷3.3V. Do đó khi kết nối 2 chân này với nhau cần hạ mức điện áp từ