Khoa kĩ thuật điện- điện tử | Học viện công nghệ bưu chính viễn thông | 2013
Mục lục
Sinh viên : D09ĐTMT Page 1
Khoa kĩ thuật điện- điện tử | Học viện công nghệ bưu chính viễn thông | 2013
Danh mục hình ảnh
Sinh viên : D09ĐTMT Page 2
Khoa kĩ thuật điện- điện tử | Học viện công nghệ bưu chính viễn thông | 2013
A. Lời nói đầu
• Nội dung của đợt thực tập:
- Tìm hiểu tổng quan về công ty.
- Tìm hiểu các lĩnh vực hoạt động của công ty.
- So sánh, đối chiếu kiến thức lý thuyết được trang bị với thực tế tại cơ
quan
- Vận dụng kiến thức đã học để thao tác nghề nghiệp
- Lập trình ứng dụng sử dụng dòng Vi xử lý ARM CORTEX STM32F103.
• Ý nghĩa của đợt thực tập:
- Giúp chúng em tiếp cận sớm với môi trường làm việc trong tương lai
- Định hướng nghề nghiệp cho bản thân.
- Qua quá trình tìm hiểu về các yêu cầu tuyển dụng của công ty so sánh với
kiến thức, kỹ năng hiện có của bản thân để trong quá trình học tập chúng
em có thể chủ động bổ xung, rèn luyện các kiến thức, kỹ năng còn thiếu
để sau khi ra trường chúng em có thể chủ động, tự tin hơn tham gia ứng
tuyển vào các vị trị trong công ty tuyển dụng.
• Lời cảm ơn:
Do chưa có kinh nghiệm làm việc trong môi trường thực tế nên trong quá trình
thực tập em còn khá lung túng và còn chưa chủ động nhưng được sự quan tâm, giúp
đỡ nhiệt tình của các anh chị trong công ty đã giúp em hoàn thành được nhiệm vụ
được giao. Vì vậy em xin chân thành gửi lời cảm ơn đến Ban giám đốc, các phòng
ban và tập thể các cô, chú và các anh chị kỹ sư trong Công ty TNHH một thành viên
đầu tư và phát triển công nghệ Hồng Hà, đặc biệt là Giám đốc công ty: Anh Nguyễn
Hồng Hoài đã giúp đỡ nhiệt tình và tạo điều kiện thuận lợi cho em được làm việc ở
Các phòng học được trang bị đầy đủ các thiết bị, máy móc phục vụ cho yêu
cầu từng môn, từng ngành học. Trung Tâm đào tạo sử dụng giáo trình riêng.
Công ty còn có bộ phận chăm sóc khách hàng rất chu đáo. Mọi thắc mắc, yêu
cầu của quý khách hàng đều được nhân viên trong bộ phận này phục vụ tận tình.
Chính điều này đã tạo cho khách hàng một sự yên tâm khi nhận những sản phẩm
của công ty.
Dù công ty mới thành lập nhưng với những nỗ lực không ngừng của Giám
đốc và đội ngũ nhân viên, tất cả đều hy vọng sẽ đem đến sản phẩm tốt nhất, phục vụ
tận tình nhất cho khách hàng.
1.3 Ngành, nghề kinh doanh
•
Đào tạo ngành Điện – Điện tử - Công nghệ thông tin.
•
Đào tạo ngành
Tin học ứng dụng: Tin học văn phòng, Kế toán máy, Đồ họa
kĩ thuật,Photoshop.
• Đào tạo ngoại ngữ và dạy kỹ năng đàm thoại.
• Đào tạo về sự sống.
• Đào tạo kỹ năng nói trước công chúng.
• Dạy máy tính.
• Các dịch vụ dạy kèm gia sư.
• Lập trình máy vi tính.
• Sản xuất linh kiện điện tử.
• Sản xuất thiết bị đo lường, kiểm tra, định hướng và điều khiển.
• Sản xuất thiết bị đóng ở của bằng điện.
• Sản xuất dây dụng cụ, dây phụ trợ và các bộ phận dây điện khác với dây và
kết nối cách điện.
• Sản xuất dây phụ trợ được làm từ dây cách điện.
•
Sản xuất vật cách điện (trừ bằng thuỷ tinh và sứ), dây cáp kim loại cơ bản.
STM32 tương thích hoàn toàn về sơ đồ chân rất tiện cho thiết kế mạch in. Trong các
nhóm lại được phân theo số lượng các thiết bị ngoại vi hỗ trợ, kích thước bộ nhớ
flash mà chia thành các thiết bị với mật độ tích hợp khác nhau như: low density
divices, medium density divices, high density divices, xl-line density divices,
connectivity line divices.
2.1.2 Bộ nhớ trong STM32
STM32 tuân theo tiêu chuẩn phân bố bộ nhớ của Cortex.Vùng nhớ code
chia làm 3 vùng nhỏ
- Vùng User Flash dùng chứa code người dùng.
- Vùng System memory có độ lớn 4kb được nhà sản xuất cài bootloader.
Bootloader dùng để tải chương trình thông qua Usart1 và chứa trong User Flash.
- Vùng Option byte chứa thông tin cấu hình STM32.
Sinh viên : D09ĐTMT Page 7
Khoa kĩ thuật điện- điện tử | Học viện công nghệ bưu chính viễn thông | 2013
Hình ảnh 2 : Vùng nhớ của STM 32
Phần chuyển từ nạp dữ liệu sang chương trình thực thi sẽ được giới thiệu
tiếp trong phần mạch nạp .
Xung nhịp: STM32 ngoài hỗ trợ 2 bộ tạo xung nhịp ngoài nó còn cung cấp thêm 2
bộ tạo dao
động nội.
- High speed internal oscillator hoạt động ở mức 8Mhz.
- Low speed internal oscillator hoạt động ở mức 32768Khz được dùng cho đồng
hồ thời gian thực.
Dù xung nhịp được lấy từ bộ tạo dao đông nội hay ngoại thì xung cung cấp cho
nhân Cortex đều được lấy từ đầu ra bộ PLL.
2.2 Giới thiệu về STM32F103RC
Đặc điểm của Bộ vi xử lý ARM Cortex-M3:
- Dành cho các hệ thống nhúng.
- Tiêu thụ năng lượng thấp.
- Giá thành hạ.
Khoa kĩ thuật điện- điện tử | Học viện công nghệ bưu chính viễn thông | 2013
Hình ảnh 6: cách tạo project mới
Phần mềm TERMINAL:
Là phần mềm giúp nhận dữ liệu từ cổng com và hiển thị trên màn hình máy tính.
Giao diện:
Hình ảnh 7: Giao diện Terminal
Kit phát triển.
Kit phát triển OPENCMX-STM3210D:
Sinh viên : D09ĐTMT Page 12
Khoa kĩ thuật điện- điện tử | Học viện công nghệ bưu chính viễn thông | 2013
Hình ảnh 8: Kit phát triển OPENCMX-STM3210D
2.4 Giao tiếp ngoại vi.
2.4.1 I/O port
Tùy vào loại vi điều khiển mà số lượng các cổng I/O port hỗ trợ với số lượng
khác nhau.Và được đánh theo thứ tự bảng chữ cái A,B,C,D,E.Mức điện áp tiêu
thụ là 5V. Các pin trong các Port I/O có thể được cấu hình là các chân vào ra thông
thường Input/Output (General purpose)hoặc có thể được cấu hình thành các chức
năng thay thế (Alternate function),làm nhiệm vụ là đường giao tiếp CPU với các
thiết bị ngoại vi bên ngoài .
2.4.2 Gerneral purpose
Mỗi port sẽ có 2 thanh ghi cấu hình 32 bit là GPIOxCRL và
GPIOxCRH(CRH là configuration register high, CRL là configuration register low)
và 2 thanh ghi chữa dữ liệu 32 bit đóng vai trò là các thanh ghi dịch khi nhận dữ
liệu và xuất dữ liệu đó là GPIOxIDR,GPIOxODR ,cùng với 1 thanh ghi set/reset 32
bit GPIOxBSRR,1 th anh ghi reset 16 bit GPIOxRSR và 1 thanh ghi 32 bit
GPIOxLCKR (locking register)
Mỗi bít trong port có thể được cấu hình bằng phần mềm là một trong 7 loại.
Sinh viên : D09ĐTMT Page 13
Khoa kĩ thuật điện- điện tử | Học viện công nghệ bưu chính viễn thông | 2013
+ Input floating:chế độ đầu vào thả nổi.
Đầu tiên ta phải khai báo cấu trúc cho GPIO: GPIO_InitTypeDef
GPIO_InitStructure;
và cho phép GPIO clock:
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB,
ENABLE).
Chương trình thực hiện nhiệm vụ sau 50 ms thì đèn sẽ thay đổi trạng thái sáng <->
tắt.
Kết quả biên dịch chương trình bằng keil C:
Hình ảnh 10: ví dụ nháy led
2.5 Giao tiếp với LCD
Giới thiệu sơ lược về Text LCD
Text LCD là loại màn hình tinh thể lỏng nhỏ ,dùng để hiển thị các chữ số,kí tự
trong bảng mã ASCII,không giống như các LCD lớn ,các Text LCD hiển thị kí tự
trên
Sinh viên : D09ĐTMT Page 15
Khoa kĩ thuật điện- điện tử | Học viện công nghệ bưu chính viễn thông | 2013
các ô,mỗi ô chỉ chứa được 1 kí tự.việc hiển thị các kí tự chỉ là hiển thị các châm
trên
ô.kích thước trên LCD được thể hiện bằng số dòng kí tự có thể hiển thị và số kí
tự có
thể hiển thị trên 1 dòng vi dụ như LCD 16x4,16x2…Trong phần này sử dụng
loại text
LCD 1 l6x2.
Có 2 mode để thực hiện giao tiếp với LCD đó là chế độ 8 bit và 4 bit.
Mode 8 bit với mode này các chân từ D0-D7 được nối trực tiếp đến chân của
port điều khiển.Ưu điểm của phương pháp này là việc ghi và xuất dữ liệu rất nhanh
,vì
chỉ cần nhập hoặc xuất dữ liệu từ port ngay.Tuy nhiên nhược điểm của phương
pháp
này là cần tới 8 pin nối với D0-D7 và 3 pin cho chân điều khiển LCD do vậy số
Frame (khung truyền): Bên cạnh tốc độ baud, khung truyền là một yếu tốc quan
trọng tạo nên sự thành công khi truyền và nhận. Khung truyền bao gồm các quy
định về số bit trong mỗi lần truyền, các bit “báo” như bit Start và bit Stop, các bit
kiểm tra như Parity, ngoài ra số lượng các bit trong một data cũng được quy định
bởi khung truyền.
Start bit: start là bit đầu tiên được truyền trong một frame truyền, bit này có chức
năng báo cho thiết bị nhận biết rằng có một gói dữ liệu sắp được truyền tới.
Data: data hay dữ liệu cần truyền là thông tin chính mà chúng ta cần gởi và nhận.
Parity bit: parity là bit dùng kiểm tra dữ liệu truyền đúng không (một cách tương
đối). Có 2 loại parity là parity chẵn (even parity) và parity lẻ (odd parity). Parity
chẵn nghĩa là số lượng số 1 trong dữ liệu bao gồm bit parity luôn là số chẵn. Ngược
lại tổng số lượng các số 1 trong parity lẻ luôn là số lẻ.
Stop bits: stop bits là một hoặc các bit báo cho thiết bị nhận rằng một gói dữ liệu đã
được gởi xong.
Quá trình truyền
Hình ảnh 12: quá trình truyền UART
Quá trình nhận:
Bit RXNE được set ngay khi nội dung của thanh ghi dịch được truyền tới
thanh ghi RDR.
Một ngắt được khởi tạo nếu bit RXNEIE được set
Sinh viên : D09ĐTMT Page 18
Khoa kĩ thuật điện- điện tử | Học viện công nghệ bưu chính viễn thông | 2013
Cờ lỗi có thể được set nếu lỗi frame truyền hoặc lỗi overrun được phát hiện
trong suốt quá trình nhận
Việc xóa bit RXNE được thực hiện bởi phần mềm đọc thanh ghi
USART_DR
Cờ RXNE có thể được xóa bằng việc ghi bit 0 vào nó
Bit RXNE phải được xóa trước khi kết thúc quá trình nhận của ký tự tiếp
theo để tránh lỗi overrun
Sinh viên : D09ĐTMT Page 19
Có hia phiên bản RS232 được lưu hành trong thời gian tương đối dài là
RS232B và RS232C. Nhưng cho đến nay thì phiên bản RS232B cũ thì ít được dùng
còn RS232C hiện vẫn được dùng và tồn tại thường được gọi là tên ngẵn gọn là
Sinh viên : D09ĐTMT Page 20
Khoa kĩ thuật điện- điện tử | Học viện công nghệ bưu chính viễn thông | 2013
chuẩn RS232
Các máy tính thường có 1 hoặc 2 cổng nối tiếp theo chuẩn RS232C được gọi
là cổng Com. Chúng được dùng ghép nối cho chuột, modem, thiết bị đo
lường Trên main máy tính có loại 9 chân hoặc lại 25 chân tùy vào đời máy và main
của máy tính. Việc thiết kế giao tiếp với cổng RS232 cũng tương đối dễ dàng, đặc
biệt khi chọn chế độ hoạt động là không đồng bộ và tốc độ truyền dữ liệu thấp.
3.2.1.2 Ưu điểm của giao diện nối tiếp RS232
• Khả năng chống nhiễu của các cổng nối tiếp cao
• Thiết bị ngoại vi có thể tháo lắp ngay cả khi máy tính đang được cấp điện
• Các mạch điện đơn giản có thể nhận được điện áp nguồn nuôi qua công nối
tiếp
3.2.1.3 Những đặc điểm cần lưu ý trong chuẩn RS232
• Trong chuẩn RS232 có mức giới hạn trên và dưới (logic 0 và 1) là +-12V.
Hiện nay đang được cố định trở kháng tải trong phạm vi từ 3000 ôm - 7000
ôm
• Mức logic 1 có điện áp nằm trong khoảng -3V đến -12V, mức logic 0 từ +-
3V đến 12V
• Tốc độ truyền nhận dữ liệu cực đại là 100kbps ( ngày nay có thể lớn hơn)
• Các lối vào phải có điện dung nhỏ hơn 2500pF
• Trở kháng tải phải lớn hơn 3000 ôm nhưng phải nhỏ hơn 7000 ôm
• Độ dài của cáp nối giữa máy tính và thiết bị ngoại vi ghép nối qua cổng nối
tiếp RS232 không vượt qua 15m nếu chúng ta không sử model
• Các giá trị tốc độ truyền dữ liệu chuẩn : 50, 75, 110, 750, 300, 600, 1200,
2400, 4800, 9600, 19200, 28800, 38400 56600, 115200 bps
3.2.1.4 Quá trình dữ liệu
Đây là bit kiểm tra lỗi trên đường truyền. Thực chất của quá trình kiểm tra lỗi khi
truyền dữ liệu là bổ xung thêm dữ liệu được truyền để tìm ra hoặc sửa một số lỗi
trong quá trình truyền . Do đó trong chuẩn RS232 sử dụng một kỹ thuật kiểm tra
chẵn lẻ.
Một bit chẵn lẻ được bổ sung vào dữ liệu được truyền để ch thấy số lượng các bit
"1" được gửi trong một khung truyền là chẵn hay lẻ.
Một Parity bit chỉ có thể tìm ra một số lẻ các lỗi chả hạn như 1,3,,5,7,9 Nếu như
một bit chẵn được mắc lỗi thì Parity bit sẽ trùng giá trị với trường hợp không mắc
lỗi vì thế không phát hiện ra lỗi. Do đó trong kỹ thuật mã hóa lỗi này không được sử
dụng trong trường hợp có khả năng một vài bit bị mắc lỗi.
3.2.2 Giao tiếp với LCD
Ngày nay, thiết bị hiển thị LCD (Liquid Crystal Display) được sử dụng trong
rất nhiều các ứng dụng của VĐK. LCD có rất nhiều ưu điểm so với các dạng hiển
thị khác: Nó có khả năng hiển thị kí tự đa dạng, trực quan (chữ, số và kí tự đồ họa),
dễ dàng đưa vào mạch ứng dụng theo nhiều giao thức giao tiếp khác nhau, tốn rất ít
tài nguyên hệ thống và giá thành rẽ …
Hình dạng và kich thước
Có rất nhiều loại LCD với nhiều hình dáng và kích thước khác nhau, trên hình 1 là
loại LCD thông dụng.
Sinh viên : D09ĐTMT Page 22
Khoa kĩ thuật điện- điện tử | Học viện công nghệ bưu chính viễn thông | 2013
Hình ảnh 13: LCD 16X2
Khi sản xuất LCD, nhà sản xuất đã tích hợp chíp điều khiển (HD44780) bên trong
lớp vỏ và chỉ đưa các chân giao tiếp cần thiết. Các chân được mô tả như sau:
Chức năng các chân
Chân
Ký
hiệu
Mô tả
1 VSS
DB0 –
DB7
Tám đường của bus dữ liệu dùng để trao đổi thông tin với MPU. Có 2
chế độ sử dụng 8 đường bus này :
Chế độ 8 bit : Dữ liệu được truyền trên cả 8 đường, với bit MSB là bit
DB7.
Chế độ 4 bit : Dữ liệu được truyền trên 4 đường từ DB4 tới DB7, bit
MSB là DB7
15 Nguồn dương cho đèn nền
16 GND cho đèn nền.
Bảng 2: Mô tả chân LCD
Mã
hex
Lệnh đến thanh ghi LCD
1 Xóa màn hình hiển thị
2 Trở về đầu dòng
4 Giảm con trỏ
6 Tăng con trỏ
5 Dịch hiển thị sang phải
7 Dịch hiển thị sang trái
8 Tắt hiển thị, tắt hiển thị
A Tắt hiển thị, bật con trỏ
C Bật hiển thị, tắt con trỏ
E Bật hiển thị, nhấp nháy con trỏ
F Tắt con trỏ, nhấp nháy con trỏ
10 Dịch vịtrí con trỏ sang trái
14 Dịch vị trí con trỏ sang phải
Sinh viên : D09ĐTMT Page 24
Khoa kĩ thuật điện- điện tử | Học viện công nghệ bưu chính viễn thông | 2013
18 Dịch toàn bộ hiển thị sang trái