báo cáo thực tập điện tử tại Công ty TNHH một thành viên đầu tư và phát triển công nghệ Hồng Hà
Trang 1Mục lục
A Lời nói đầu 2
B NỘI DUNG 3
Chương 1: Giới thiệu chức năng, nhiệm vụ, cơ cấu tổ chức của công ty 3
1.1 Thông tin chung về doanh nghiệp 3
1.2 Hình thành và phát triển: 3
1.3 Ngành, nghề kinh doanh 4
Chương 2: Nội dung thực tập 6
2.1 Kiến trúc của dòng Vi xử lý STM32 6
2.2 Giới thiệu về STM32F103RC 7
2.3 Ngôn ngữ lập trình và công cụ lập trình 9
2.4 Giao tiếp ngoại vi 12
2.5 Giao tiếp với LCD 14
2.6 Truyền thông nối tiếp UART 16
Chương 3: Mạch đề tài thực tập 19
3.1 Tổng quan và kĩ thuật áp dụng trong mạch 19
3.2 Một số công nghệ và chuẩn giao tiếp 19
3.2.1.2 Ưu điểm của giao diện nối tiếp RS232 20
3.3 Thiết kế hệ thống mạch 27
3.4 Kết quả và định hướng đề tài 34
3.5 Tài liệu tham khảo 34
Trang 2Khoa kĩ thu t đi n- đi n t | H c vi n công ngh b u chính vi n thông | 2013ện- điện tử | Học viện công nghệ bưu chính viễn thông | 2013 ện- điện tử | Học viện công nghệ bưu chính viễn thông | 2013 ử | Học viện công nghệ bưu chính viễn thông | 2013 ọc viện công nghệ bưu chính viễn thông | 2013 ện- điện tử | Học viện công nghệ bưu chính viễn thông | 2013 ện- điện tử | Học viện công nghệ bưu chính viễn thông | 2013 ưu chính viễn thông | 2013 ễn thông | 2013
Danh mục hình ảnh
Trang 3A 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ớikiế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
Trang 4Khoa kĩ thu t đi n- đi n t | H c vi n công ngh b u chính vi n thông | 2013ện- điện tử | Học viện công nghệ bưu chính viễn thông | 2013 ện- điện tử | Học viện công nghệ bưu chính viễn thông | 2013 ử | Học viện công nghệ bưu chính viễn thông | 2013 ọc viện công nghệ bưu chính viễn thông | 2013 ện- điện tử | Học viện công nghệ bưu chính viễn thông | 2013 ện- điện tử | Học viện công nghệ bưu chính viễn thông | 2013 ưu chính viễn thông | 2013 ễn thông | 2013
B NỘI DUNG Chương 1: Giới thiệu chức năng, nhiệm vụ, cơ cấu tổ chức của công ty1.1 Thông tin chung về doanh nghiệp
Tên tiếng việt: CÔNG TY TNHH MỘT THÀNH VIÊN ĐẦU TƯ VÀ PHÁT TRIỂN CÔNG NGHỆ HỒNG HÀ
Tên tiếng Anh: HONG HA TECHNOLOGY INVESTMENT AND
DEVELOPMENT ONE MEMBER COMPANY LIMITED
Tên công ty viết tắt: HH TIADO CO.,LTD
-Hiện công ty có đội ngũ đội ngũ giảng viên gồm những Tiến sĩ, Thạc sĩ và
Kĩ sư của trường Đại học Bách Khoa Hà Nội, cùng với đội ngũ nhân viên kinh
Trang 5quy, giàu kinh nghiệm để luôn đảm bảo, cam kết chất lượng dịch vụ với kháchhàng, đối tác Đội ngũ hiện đang được củng cố và phát triển.
Các phòng học được trang bị đầy đủ các thiết bị, máy móc phục vụ cho yêucầ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êucầ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ẩmcủ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
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
Trang 6Khoa kĩ thu t đi n- đi n t | H c vi n công ngh b u chính vi n thông | 2013ện- điện tử | Học viện công nghệ bưu chính viễn thông | 2013 ện- điện tử | Học viện công nghệ bưu chính viễn thông | 2013 ử | Học viện công nghệ bưu chính viễn thông | 2013 ọc viện công nghệ bưu chính viễn thông | 2013 ện- điện tử | Học viện công nghệ bưu chính viễn thông | 2013 ện- điện tử | Học viện công nghệ bưu chính viễn thông | 2013 ưu chính viễn thông | 2013 ễn thông | 2013
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
Sản xuất các thiết bị và cấu kiện điện dùng trong các động cơ đốt trong
Sản xuất các thiết bị hàn điện, bao gồm máy hàn thép cầm tay
Sửa chữa máy móc, thiết bị
Lắp đặt hệ thống điện
Hoạt động kiến trúc và tư vấn kỹ thuật: chuẩn bị và thực hiện dự án liên quanđến kỹ thuật điện và điện tử, kỹ thuật khai khoáng, kỹ thuật hoá học, dượchọc, công nghiệp và nhiều hệ thống, kỹ thuật an toàn hoặc những dự án quản
lý nước; chuẩn bị các dự án sử dụng máy điều hoà, tủ lạnh, máy hút bụi và
kỹ thuật kiểm soát ô nhiễm, kỹ thuật âm thanh
Trang 7Chương 2: Nội dung thực tập
- Dòng Performance có tần số hoạt động của CPU lên tới 72 Mhz
- Dòng Access có tần số hoạt động lên tới 36 Mhz.Tuy nhiên có ít các ngoại vi hơn dòng Performance
Hiện nay ST đưa ra thêm 2 dòng nữa là USB Access và Connectivity.Các biến thể 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ácnhó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
Trang 8Khoa kĩ thu t đi n- đi n t | H c vi n công ngh b u chính vi n thông | 2013ện- điện tử | Học viện công nghệ bưu chính viễn thông | 2013 ện- điện tử | Học viện công nghệ bưu chính viễn thông | 2013 ử | Học viện công nghệ bưu chính viễn thông | 2013 ọc viện công nghệ bưu chính viễn thông | 2013 ện- điện tử | Học viện công nghệ bưu chính viễn thông | 2013 ện- điện tử | Học viện công nghệ bưu chính viễn thông | 2013 ưu chính viễn thông | 2013 ễn thông | 2013
- 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
- Hiệu năng tính toán cao
- Tương thích với tất cả các công cụ và phần mềm cho ARM hiện có trên thị trường
Trang 9Đặc điểm STM32F103RC:
- Là dòng Vi xử Lý 32 bit
- Có 256K Bytes Program Flash, 48K Bytes RAM
- Tần số hoạt động tối đa 72Mhz
Trang 10Khoa kĩ thu t đi n- đi n t | H c vi n công ngh b u chính vi n thông | 2013ện- điện tử | Học viện công nghệ bưu chính viễn thông | 2013 ện- điện tử | Học viện công nghệ bưu chính viễn thông | 2013 ử | Học viện công nghệ bưu chính viễn thông | 2013 ọc viện công nghệ bưu chính viễn thông | 2013 ện- điện tử | Học viện công nghệ bưu chính viễn thông | 2013 ện- điện tử | Học viện công nghệ bưu chính viễn thông | 2013 ưu chính viễn thông | 2013 ễn thông | 2013
Hình ảnh 4: Sơ đồ Schematic của STM32F103RCT6
2.3 Ngôn ngữ lập trình và công cụ lập trình.
Lập trình bằng ngôn ngữ C
Lập trình trên phần mềm Keil C
Giao diện phần mềm:
Trang 11Hình ảnh 5: giao diện phần mềm Keil C for ARM
Cách tạo project trên Keil C.
Mở Keil IDE, chọn menu “Project->New uVision Project” để tạo dự án mới -> chọn
nơi lưu
Trang 12Khoa kĩ thu t đi n- đi n t | H c vi n công ngh b u chính vi n thông | 2013ện- điện tử | Học viện công nghệ bưu chính viễn thông | 2013 ện- điện tử | Học viện công nghệ bưu chính viễn thông | 2013 ử | Học viện công nghệ bưu chính viễn thông | 2013 ọc viện công nghệ bưu chính viễn thông | 2013 ện- điện tử | Học viện công nghệ bưu chính viễn thông | 2013 ện- điện tử | Học viện công nghệ bưu chính viễn thông | 2013 ưu chính viễn thông | 2013 ễn thông | 2013
Hình ảnh 6: cách tạo project mới
Trang 13Hì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ôngthườ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
Trang 14Khoa kĩ thu t đi n- đi n t | H c vi n công ngh b u chính vi n thông | 2013ện- điện tử | Học viện công nghệ bưu chính viễn thông | 2013 ện- điện tử | Học viện công nghệ bưu chính viễn thông | 2013 ử | Học viện công nghệ bưu chính viễn thông | 2013 ọc viện công nghệ bưu chính viễn thông | 2013 ện- điện tử | Học viện công nghệ bưu chính viễn thông | 2013 ện- điện tử | Học viện công nghệ bưu chính viễn thông | 2013 ưu chính viễn thông | 2013 ễn thông | 2013+ Input floating:chế độ đầu vào thả nổi.
+ Input Pull-up là đầu vào là sườn lên
+ Input Pull-down đầu vào là sườn xuống
+ Input Analog đầu vào là tín hiệu tương tự
+ Output open-drain
+ Output Push-pull
+ Alternate function push-pull: dùng cấu hình trong chức năng thay thế
+ Alternate function open-drain :dùng cấu hình trong chức năng thay thế
c Cấu hình input
Khi một port được cấu hình là Input thì
+ Cấu hình các thanh ghi CLR và CHR cho biết đây là chế độ Input,cùng với các loại
Input tương ứng
+ Dữ liệu trong I/O pin được lấy mẫu vào trong thanh ghi Input Data register.+ Một truy nhập đọc tới thanh ghi IDR này
d.Cấu hình Output
Khi một port được cấu hình là Output thi
+ Các thanh ghi CLR,CHR được cấu hình,
+ Dữ liệu trên thanh ghi ODR được đưa vào chân các pin ra ngoài
Ví dụ cấu hình chế độ Output trong chương trình c
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_8 ;
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;
GPIO_Init(GPIOB, &GPIO_InitStructure);
Lệnh dòng 1 ta đang cấu hình cho pin 8 của port B
Dòng 2 thiết lập đầu ra Output ở max speed là 50Mhz
Trang 15Dòng 4 gọi hàm cấu hình port.
Ví dụ : Chương trình nhấp nháy LED
Đầu tiên ta phải khai báo cấu trúc cho GPIO: GPIO_InitTypeDef
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
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
Trang 16Khoa kĩ thu t đi n- đi n t | H c vi n công ngh b u chính vi n thông | 2013ện- điện tử | Học viện công nghệ bưu chính viễn thông | 2013 ện- điện tử | Học viện công nghệ bưu chính viễn thông | 2013 ử | Học viện công nghệ bưu chính viễn thông | 2013 ọc viện công nghệ bưu chính viễn thông | 2013 ện- điện tử | Học viện công nghệ bưu chính viễn thông | 2013 ện- điện tử | Học viện công nghệ bưu chính viễn thông | 2013 ưu chính viễn thông | 2013 ễn thông | 2013ô.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ố lượng
pi của port phải dùng lớn.Nhằm khắc phục giảm số chân của vi điều khiển ta thực hiện
chế độ mode 4 bit
Mode 4 bit với mode này dữ liệu được chia thành 2 phần 4 bit cao và 4 bit thấp
do vậy số chân vi điều khiển cần nối tới LCD giảm 4 pin.các chân D0-D3 của LCDbỏ
trống.khi truyền dữ liệu thì Ưu tiên truyền 4 bit cao trước
Ví dụ: Biên dịch chương trình hiển thị dòng chữ trên LCD:
Dòng 1: “Bao Cao Thuc Tap”
Dòng 2: “SV:Tran Ngoc Tin”
Trang 17Hình ảnh 11: Ví dụ LCD
2.6 Truyền thông nối tiếp UART
STM32 RCT6 hỗ trợ lên tới 5 đường truyền USART Đường truyền USART1 hỗ trợ truyền tốc độ tối đa lên tới 4.5 Mbit/s, các đường USART còn lại hỗ trợ truyền tối đa chỉ lên tới 2.25 Mbit/s
Truyền thông nối tiếp:
Một hạn chế rất dễ nhận thấy khi truyền nối tiếp so với song song là tốc độ truyền và độ chính xác của dữ liệu khi truyền và nhận
Khái niệm “đồng bộ” để chỉ sự “báo trước” trong quá trình truyền Bằng cách “báo trước” này tất cả các bit dữ liệu có thể truyền/nhận dễ dàng với ít
“rủi ro” trong quá trình truyền
Khác với cách truyền đồng bộ, truyền thông “không đồng bộ” chỉ cần một đường truyền cho một quá trình “Khung dữ liệu” đã được chuẩn hóa bởi các thiết
bị nên không cần đường xung nhịp báo trước dữ liệu đến
Baud rate (tốc độ Baud): tốc độ truyền phải được cài đặt như nhau
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
Trang 18Khoa kĩ thu t đi n- đi n t | H c vi n công ngh b u chính vi n thông | 2013ện- điện tử | Học viện công nghệ bưu chính viễn thông | 2013 ện- điện tử | Học viện công nghệ bưu chính viễn thông | 2013 ử | Học viện công nghệ bưu chính viễn thông | 2013 ọc viện công nghệ bưu chính viễn thông | 2013 ện- điện tử | Học viện công nghệ bưu chính viễn thông | 2013 ện- điện tử | Học viện công nghệ bưu chính viễn thông | 2013 ưu chính viễn thông | 2013 ễn thông | 2013đị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ượclạ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
Một ngắt được khởi tạo nếu bit RXNEIE được set
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