سلام
من یه برد STM32F407VGT6 -discovery گرفتم و میخوام همان مسئله قبلی(که در پست مشکل در "سرعت IO در AT91SAM9x512 "مطرح شد) را اینجا تست کنم. چند موضوع جالب اینجا وجود داره
1- وقتی فقط یه پایه را در main برنامه toggle کنی به سرعت 33MHz در خروجی میرسی که بسیار جالب توجه هست.
2- من دو تا وقفه خارجی را فعال کردم و به ورودی هرکدوم پالس 2MHz دادم و تو هرکدام از دو تا وقفه یک پالس روی خروجی ایجاد کردم و در واقع تونستم با سرعت 2MHz از پالس ورودی منظم بخونم و روی دو تا خروجی همزمان با سرعت 2MHz بنویسم. این در مقایسه با سرعت افتضاح اون اتمل خوب خیلی عالیه. البته اگر در دو تا پروسسور بلوک دیاگرام ها را مقایسه کنید کاملا مشخص میشه که از نظر باس STM بسیار بسیار بهینه تر و قویتر عمل کرده.
مشکل اینجاست که گزینه اول کاملا مبتنی بر دیتاشیت است(البته پایین تر از دیتاشیت است به خاطر اینکه برنامه با C نوشته شده). ولی من انتظار داشتم که بتونم حداقل 4 تا 5 ورودی را با این سرعت بخونم و حدود 20 تا خروجی را نیز با همین سرعت روش داده بذارم و همزمان یک تایمر یک مگاهرتز هم داشته باشم که نشد چرا؟
البته اگر از PWM استفاده کنم میتونم گزینه دوم را با یک خروجی 6MHz روی PWM داشته باشم ولی به دردم نمیخوره؟
من اصلا دارم به بن بست میرسم که اگر من بخوام یه الگوریتم را با سرعت بالای 20MIPS اجرا کنم و در کنارش بتونم با 30 تا IO با سرعت 2MHz کار کنم، چه گزینه هایی برای انتخاب دارم(البته FPGA گزینه بسیار خوبیه و من میخوام که با C++ کار کنم و یه همچین کامپایلر و زبانی برای FPGA نداریم و حداکثر همون C هست)؟
من یه برد STM32F407VGT6 -discovery گرفتم و میخوام همان مسئله قبلی(که در پست مشکل در "سرعت IO در AT91SAM9x512 "مطرح شد) را اینجا تست کنم. چند موضوع جالب اینجا وجود داره
1- وقتی فقط یه پایه را در main برنامه toggle کنی به سرعت 33MHz در خروجی میرسی که بسیار جالب توجه هست.
2- من دو تا وقفه خارجی را فعال کردم و به ورودی هرکدوم پالس 2MHz دادم و تو هرکدام از دو تا وقفه یک پالس روی خروجی ایجاد کردم و در واقع تونستم با سرعت 2MHz از پالس ورودی منظم بخونم و روی دو تا خروجی همزمان با سرعت 2MHz بنویسم. این در مقایسه با سرعت افتضاح اون اتمل خوب خیلی عالیه. البته اگر در دو تا پروسسور بلوک دیاگرام ها را مقایسه کنید کاملا مشخص میشه که از نظر باس STM بسیار بسیار بهینه تر و قویتر عمل کرده.
مشکل اینجاست که گزینه اول کاملا مبتنی بر دیتاشیت است(البته پایین تر از دیتاشیت است به خاطر اینکه برنامه با C نوشته شده). ولی من انتظار داشتم که بتونم حداقل 4 تا 5 ورودی را با این سرعت بخونم و حدود 20 تا خروجی را نیز با همین سرعت روش داده بذارم و همزمان یک تایمر یک مگاهرتز هم داشته باشم که نشد چرا؟
البته اگر از PWM استفاده کنم میتونم گزینه دوم را با یک خروجی 6MHz روی PWM داشته باشم ولی به دردم نمیخوره؟
من اصلا دارم به بن بست میرسم که اگر من بخوام یه الگوریتم را با سرعت بالای 20MIPS اجرا کنم و در کنارش بتونم با 30 تا IO با سرعت 2MHz کار کنم، چه گزینه هایی برای انتخاب دارم(البته FPGA گزینه بسیار خوبیه و من میخوام که با C++ کار کنم و یه همچین کامپایلر و زبانی برای FPGA نداریم و حداکثر همون C هست)؟
دیدگاه