STM32 là dòng vi điều khiển của hãng ST dựa vào nền tảng lõi xử lí Cortex M3 của ARM. ST đưa ra thị trường 4 dòng dựa trên ARM7 và ARM9 nhưng STM32 là một bước tiến trên đường cong chi phí. STM32 gồm 14 biến thể được phân thành 2 nhóm : - 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á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.
Trang 1MỤC LỤC
MỤC LỤC 1
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 Giới thiệu về đơn vị thực tập 3
1.2 Chức năng, nhiệm vụ của đơn vị thực tập 3
1.3 Cơ cấu tổ chức 4
Chương 2: Nội dung thực tập 7
2.1 Vị trí, yêu cầu tuyển dụng 7
2.2 Các lĩnh vực hoạt động của công ty 7
2.3 Công việc được giao trong đợt thực tập 9
2.3.1 Kiến trúc của dòng vi xử lý STM32 9
2.3.2 Giới thiệu về STM32F103RC 11
2.3.3 Ngôn ngữ lập trình và công cụ lập trình 13
2.3.4 Giao tiếp ngoại vi 15
2.3.5 Lập tình Timer - Counter 17
2.3.6 Lưu trữ dữ liệu bằng bộ nhớ EEPROM ảo 21
2.3.7 Giao tiếp với LCD 24
2.3.8 Giao tiếp với SD/MMC Card 25
Chương 3: nhận xét, đề xuất 27
3.1 Ưu điểm 27
3.2 Nhược điểm 27
3.3 Đề xuất 27
C Kết luận 28
D Phụ lục 29
Tài liệu tham khảo 30
Trang 2A 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
- Tìm hiểu các vị trí công việc mà khi ra trường sinh viên có thể xin vào làm tại công ty Yêu cầu của nhà tuyển dụng đối với mỗi vị trí công việc đó bao gồm yêu cầu về kiến thức chuyên môn và yêu cầu về kỹ năng mềm
- 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 cổ phần thương mại và phát triển công nghệ Kinh Bắc, đặc biệt là Giám đốc công ty: Ông Nguyễn Hữu Long – cựu sinh viên Đại học Bách khoa Hà Nộ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ông ty vừa qua
Trang 3B 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 ty
1.1 Giới thiệu về đơn vị thực tập:
Tên công ty : CÔNG TY CỔ PHẦN THƯƠNG MẠI VÀ PHÁT TRIỂN
CÔNG NGHỆ KINH BẮC Tên tiếng Anh : KINH BAC TECHNOLOGY DEVELOPMENT AND
TRADING JOINT STOCK COMPANY Tên viết tắt : KBG.,JSC
Trụ sở chính : Số 40A , Tổ 45B, Phường Phương Liên , Quận Đống Đa, Hà
Nội
Chi nhánh 1 : Số 247 Ngô Xuân Quảng – Gia Lâm – Hà Nội
Chi nhánh 2 : Phòng 802 Nhà B11D Nam Trung Yên – Trung Hoà - Cầu Giấy –
Hà Nội Điện thoại :+84 – 4.62817009
Fax :+84-4.62810033 Email : kinhbacgrp@gmail.com
1.2 Chức năng, nhiệm vụ của đơn vị thực tập:
Hoạt động trong lĩnh vực công nghệ với một đội ngũ nhân viên năng động,
chuyên môn tốt, tác phong làm việc chuyên nghiệp công ty đã không ngừng mở rộng
và nâng cao chất lượng cho sản phẩm và các hoạt động kinh doanh:
Cung cấp các Máy tính, thiết bị linh kiện máy tính của các hãng danh tiếng thế giới như: HP, Dell,IBM, Acer,Intel, Samsung,
Cung cấp các dịch vụ về máy tính đồng bộ, tư vấn thiết kế và thi công các
hệ thống điện, hệ thống mạng, mạng LAN, mạng WAN, thiết bị an ninh cùng các phần mềm tin học quản lý
Trang 4 Cung cấp các dịch vụ tư vẫn, thiết kế, sửa chữa, nâng cấp, bảo trì các hệ thống viễn thông
Cung cấp các hệ thống máy móc, kỹ thuật phục vụ tổ chức sự kiện
Cung cấp các giải pháp về năng lượng sạch, tự động hoá cho toà nhà thông minh
Tư vấn thiết kế, cung cấp lắp đặt hệ thống tổng đài điện thoại, hệ thống camera quan sát
Cung cấp các thiết bị, các giải pháp cho hệ thống Điện - Tự động hoá, các giải pháp tiết kiệm năng lượng sạch và các giải pháp cho toà nhà thông minh
1.3 Cơ cấu tổ chức:
Do dặc thù hoạt động của Công ty chủ yếu là mang tính thương mại dịch vụ, lại hoạt động trong lĩnh vực công nghệ thông tin nên tổ chức của công ty mang tính trực tuyến chức năng
Toàn bộ hệ thống tổ chức của công ty đảm bảo sự thông suốt của thông tin từ bộ phận lãnh đạo đến từng thành viên trong Công ty Đảm bảo tiếp nhận và sử lý các thông tin phản hồi của khách hàng một cách nhanh nhất
Đội ngũ cán bộ nhân viên trong Công ty được phân công vào các phòng ban khác nhau nhàm đảm bảo tính chyên môn hóa, giúp cho mọi người có thể phát huy hế năng lực của mình cho nhiệm vụ cụ thể mà mình trực tiếp phụ trách Các cán bộ thuộc các phòng ban đều được đào tạo cơ bản về chuyên môn của mình ít nhất là trình độ cử nhân
Sơ đồ tổ chức:
Trang 5Thông qua các hoạt động quan tâm tới đời sống của anh chị em trong công ty, tìm hiểu những khó khăn thuận lợi với cuộc sống và công việc của từng người, tư vấn cho giám đốc công trong việc sắp xếp bố trí tuyển dụng nguồn nhân lực cho sự phát triển bền vững của công ty
Phòng phát triển dự án:
Trang 6Phòng phát triển dự án có 10 nhân viên Tất cả đều được đào tạo chuyên nghiệp
từ các trường Đại học Tài chính, Học viện Báo Chí, Đại học Ngoại Thương, các chuyên ngành về truyền thông và sáng tạo ra các ý tưởng, đề ra phương án, lập kế hoạch phát triển
dự án…Họ đã có những thành công đáng kể và hoàn thành xuất sắc các dự án như: Dự án cung cấp Thiết bị tin học cho Ngân Hàng Nông Nghiệp và Phát triển Nông thôn, Ngân Hàng VPBank., Dự án Lắp đặt hệ thống Camera quan sát Trường Mầm Non Hoa Trà My, Trung tâm Thể Dục Thể Thao Tỉnh Bắc Ninh, Dự án Trung Tâm điều hành AI GAME III tại nhà A8 Triển Lãm Giảng Võ, Hà Nội., Lắp đặt trạm BTS tuyến Hà Nội – Thái Nguyên
Phòng kỹ thuật:
Hai mươi kỹ sư của phòng kỹ thuật trong đó có 7 người xuất thân từ trường ĐH Bách khoa Hà Nội có trên 3 năm kinh nghiệm trong việc phục vụ cho các công ty lớn và đơn vị ngân hàng và bảy người còn lại trong số mười hai người là những người xuất thân từ khoa tin của những trường ĐH, Cao Đẳng khác nhưng họ rất nhiều kinh nghiên trong lĩnh vực tin học
Bộ phận bảo hành: Là bộ phận chuyên trách tách ra từ phòng kỹ thuật, các cán bộ bảo hành của Kinh Bắc là những người gần gũi thân thiện và biết đặt mình vào địa vị của khách
hàng Luôn luôn lắng nghe, luôn luôn chia sẻ là đặc tính của nhân viên bảo hành
Phòng kế toán tài chính:
Phòng Kế toán tài chính có bốn cán bộ kế toán Họ là những người được đào tạo chuyên nghiệp từ trường Học viên Tài chính và Đại học kinh tế Quốc dân Trung thực, rõ ràng như những con số, phòng kế toán sẽ góp phần phát triển Công ty bằng sự linh hoạt, mềm dẻo và đúng luật
Trang 7Chương 2: Nội dung thực tập
2.1 Vị trí, yêu cầu tuyển dụng
1.Kỹ sư điện tử viễn thông, kỹ sư tin học:
Yêu cầu:
- Tốt nghiệp Đại học chính quy từ loại khá trở lên đúng chuyên ngành cần tuyển dụng
- Tuổi không quá 35, có sức khỏe tốt
- Sử dụng thành thạo vi tính Chúng chỉ tin học văn phòng trình độ B trở lên
- Ngoại ngữ Anh văn chứng chỉ C (hoặc tương đương) trở lên có thời hạn trong hai năm
- Kỹ năng: Khả năng làm việc theo nhóm, kỹ năng thuyết trình
2 Kỹ thuật viên điện tử máy tính
Yêu cầu:
- Tốt nghiệp cao đẳng trở lên chuyên ngành điện tử hoặc công nghệ thông tin
- Tuổi không quá 35, có sức khỏe tốt
- Năng động, nhiệt tình với công việc
- Có ít nhất một năm kinh nghiệm làm việc tại các trung tâm máy tính, trong lĩnh vực sửa chữa bảo hành thiết bị điện tử
- Kỹ năng: Khả năng đánh giá, phán đoán vấn đề tốt
2.2 Các lĩnh vực hoạt động của công ty
Sản phẩm và Dịch vụ:
1 Thiết bị và linh kiện máy tính
Với tư cách là Nhà cung cấp Máy tính, thiết bị tin hoc cho các hãng hàng đầu trong lĩnh vực Máy tính như :HP, Dell, Acer, công ty chuyên cung cấp:
Trang 8 Các dòng máy tính đồng bộ của các hãng
Xây dựng cấu hình các loại máy tính Đông Nam Á
Cung cấp các loại máy chủ IBM, HP…
Các loại linh kện máy tính
Chuyên phân phối các loại máy văn phòng máy in, máy huỷ…
Cung cấp máy photo các loại
Xây dựng các hệ thống máy tính cho các cơ quan
3 Thiết bị tổng đài, thiết bị an ninh
Với một đội ngũ kỹ sư, kỹ thuật viên giầu kinh nghiệm,được đào tạo tốt và sự
hỗ trợ toàn diện của các đối tác như Simen, Panasonic công ty luôn dành được sự tín nhiệm và hài lòng của những khách hàng khó tính nhất Công ty cung cấp những dịch
vụ kỹ thuật:
Tư vấn thiết kế, cung cấp lắp đặt hệ tổng đài
Cung cấp các giải pháp an ninh như: hệ thống camera, hệ thống chuông cửa thông minh …
4 Thiết bị năng lượng sạch
Công ty Kinh Bắc luôn là đơn vị tiên phong trong lĩnh vực công nghệ, với
một đội ngũ nhân viên nhiệt tình,giàu kinh nghiệm, ham học hỏi và tìm hiểu khai thác những lĩnh vực công nghệ mới, chúng tôi luôn tư vấn và đưa vào thị trường những sản phẩm công nghệ mới,đặc biệt trong thời gian gần đây công ty nhận thấy vấn đề năng
Trang 9lượng là một vấn đề rất được nhà nước quan tâm và chú trọng bởi nguồn năng lượng đang ngày một khan hiếm,chính vì lẽ đó mà Kinh Bắc đang đưa vào thị trường những sản phẩm tiết kiệm năng lượng như:
Hệ thống bóng đèn tiết kiệm năng lượng
Hệ thống thu năng lượng tự nhiên như: Năng lượng Mặt trời, năng lượng gió…
5 Hệ thống viễn thông
Là đối tác chính trong việc cung cấp các thiết bị viễn thông của Viettel, Mobiphone như: Cung cấp modem, lắp đặt hệ thống BTS,…
6 Hệ thống báo cháy và chữa cháy tự động
Với tư cách là đại lý phân phối chính hãng của các hãng sản xuất báo cháy nổi tiếng như Notifier, Hochiki, Johnson Control, Siemen… Công ty đã mang
tới các khách hàng các hệ thống báo cháy và chữa cháy an toàn:
Hệ thống báo cháy tự động thường
Hệ thống báo cháy địa chỉ thông minh
Hệ thống chữa cháy hiện đại với các vòi phun sprinkler, khí FM200…
7 Hệ thống điều khiển thông minh iBMS
L à chuyên gia tư vấn và cung cấp dịch vụ lắp đặt các hệ thống quản lý tòa nhà thông minh với các ứng dụng cao trong cuộc sống… Công ty đã mang tới các khách hàng các giải pháp của các hãng nổi tiếng trên toàn thế giới:
Trang 102.3.1.1 Giới thiệu về STM32
STM32 là dòng vi điều khiển của hãng ST dựa vào nền tảng lõi xử lí Cortex M3 của ARM ST đưa ra thị trường 4 dòng dựa trên ARM7 và ARM9 nhưng STM32 là
một bước tiến trên đường cong chi phí
STM32 gồm 14 biến thể được phân thành 2 nhóm :
- 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á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.3.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 11Phầ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
Trang 12- 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
Đặ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
- Điện áp hoạt động 2.0-3.6V
- Là vi xử lý có 64 chân
- Nhiệt độ cho phép là từ -40->85oc đối với STM32F103RCT6
Hình ảnh cho STM32F103RC
Trang 132.3.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 14 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
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
Dao diện:
Trang 15 Kit phát triển
Kit phát triển OPENCMX-STM3210D:
2.3.4 Giao tiếp ngoại vi
a 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à 5 vôn.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
Trang 16b.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 thanh 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
+ 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;
Trang 17GPIO_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
Dòng 3 thiết lập pin là Output loại push-pull
Dòng 4 gọi hàm cấu hình port
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 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:
2.3.5 Lập trình Timer – Counter
2.3.5.1.Giới thiệu về timer1 và timer8