امتیاز موضوع:
  • 0 رأی - میانگین امتیازات: 0
  • 1
  • 2
  • 3
  • 4
  • 5
نحوه چيدمان ارتباطي چند ميكرو
نویسنده پیام
rdscience آفلاین
كاربر دو ستاره
**

ارسال‌ها: 183
موضوع‌ها: 17
تاریخ عضویت: اردیبهشت ۱۳۹۰

تشکرها : 479
( 298 تشکر در 111 ارسال )
ارسال: #12
RE: نحوه چيدمان ارتباطي چند ميكرو
دوستان سلام
صالح جان از تلاشت براي حل اين موضوع متشكرمHappy
طبق توصيه ات ميكروها را سخت افراري پيكره بندي از فيوزبيت 4mb داخلي استفاده كردم
از آخرين پست رو 2 مدار با 2 مگا32 و يك مگا8 كار كردم اولين مدار ميكرو مستر را مگا 32 و دومي را كه فايلهاش را گذاشتم مگا 8 قرار دادم
از دو اسليو ، بايد دو عدد ثابت به صورت سري به مستر ارسال شود ولي ...Sad
* چرا فركانس پالس اسليو 1 و 2 متفاوته ؟ مگه فركانس كاريشون برابر نيست ؟
* چرا ديتاي اسليو 1 و 2 با هم قاطي ميشن ؟
تو برد هم بدتر از اينه !
کد:
http://www.4shared.com/file/_nGi4q7d/2spi.html
http://www.4shared.com/file/2PbonPmj/2spi_m.html
http://www.4shared.com/file/JTskCT7m/2spi_s_1.html
http://www.4shared.com/file/jThPPAdG/2spi_s_2.html
اين كدها در دو پست بعدي اصلاح شدند
موعد دفاعيه پروژم نزديكه و مغزم قفل كرده Confused
لطفا دوستاني كه مي تونند هم كمك كنند Clap


فایل‌(های) پیوست شده بندانگشتی (ها)
   

كسي را كه آماده آموختن است تعليم ندادن، انساني را به هدر دادن است، كسي را كه آماده آموختن نيست تعليم دادن، سخن به هدر دادن است، خردمند نه انسان را به هدر مي دهد و نه سخن را

وبلاگ خودموني
(آخرین ویرایش در این ارسال: ۲۲-تير-۱۳۹۰, ۱۱:۴۴:۲۳، توسط rdscience.)
۲۲-تير-۱۳۹۰, ۰۰:۱۰:۱۹
وب سایت ارسال‌ها
پاسخ
salehjg آفلاین
مدیر بخش
*****

ارسال‌ها: 1,281
موضوع‌ها: 133
تاریخ عضویت: آذر ۱۳۸۸

تشکرها : 9560
( 8557 تشکر در 2603 ارسال )
ارسال: #13
RE: نحوه چيدمان ارتباطي چند ميكرو
انگار فایل ها اشتباهی آپ شدن.Exclamation

توی نقشه مدار، lcd به مگا 32 وصل شده اما در برنامه ی مستر(مگا8) السیدی تعریف شده.

چیزی که همین جوری ذهنم رسید:

*در برنامه ی مستر قرار شده که خودمون Ss رو کنترل کنیم، پس باید Noss=1 رو در تعریف spi اضافه کنید(در هلپ بسکام توضیح داده)
الان خوابم میاد، فردا دقیق تر بررسی میکنم.
(آخرین ویرایش در این ارسال: ۲۲-تير-۱۳۹۰, ۰۱:۴۳:۵۸، توسط salehjg.)
۲۲-تير-۱۳۹۰, ۰۰:۵۶:۵۴
وب سایت ارسال‌ها
پاسخ
تشکر شده توسط : h0x00i, rdscience, رسول
rdscience آفلاین
كاربر دو ستاره
**

ارسال‌ها: 183
موضوع‌ها: 17
تاریخ عضویت: اردیبهشت ۱۳۹۰

تشکرها : 479
( 298 تشکر در 111 ارسال )
ارسال: #14
RE: نحوه چيدمان ارتباطي چند ميكرو
سلام ببخشيد درسته بي دقتي كردم
از دو اسليو ، بايد دو عدد ثابت به صورت سري به مستر ارسال شود ولي ...Sad
* چرا ديتاي اسليو 1 و 2 با هم قاطي ميشن ؟ مگه برنامه خط به خط اجرا نميشه و 255 و يه عدد نامربوط را نشون ميده !!
مشكل چند فركانسي هم به لطف صالح جان حل شد ولي دو اسليو دچار اختلال فاز شدند ...
تو برد هم تست كردم بجاي دو عدد ثابت 130 و 70 ، 150 را نشان ميده
دو تا ابهام هم دارم كه اگه كمك كنيد ممنون ميشم * تو يه برنامه ديدم كه تو مستر متغير a فرستاده بود ولي تو اسليو b گرفته بود و برنامه هم كار ميكرد در زماني كه بخواهيم چند متغير را بفرستيم چه بايد كرد ؟
منظور از تعداد بايتي كه بعد از متغير مي آيد چيست ؟ مثلا اگه يه متغير سينگل بخواهيم بفرستيم چطوري تعداد بايت را بدست بياريم ( رشته ام الكترونيك نيست )

لطفا يه نگاهي بندازيد ببينيد مشكلش كجاست ؟
طبق پست قبلي آقا صالح دوباره اينجا آپلود شد !
http://www.4shared.com/file/5hZdJyP-/2spi.html
http://www.4shared.com/file/LBg3Cm28/2spi_m.html
http://www.4shared.com/file/AN8Z_zLv/2spi_s_1.html
http://www.4shared.com/file/aO68GP3n/2spi_s_2.html
( هر چهار فايل را در يه فولدر بريزيد )

لطفا دوستاني كه مي تونند هم كمك كنند Clap

كسي را كه آماده آموختن است تعليم ندادن، انساني را به هدر دادن است، كسي را كه آماده آموختن نيست تعليم دادن، سخن به هدر دادن است، خردمند نه انسان را به هدر مي دهد و نه سخن را

وبلاگ خودموني
۲۲-تير-۱۳۹۰, ۱۱:۳۹:۰۴
وب سایت ارسال‌ها
پاسخ
rdscience آفلاین
كاربر دو ستاره
**

ارسال‌ها: 183
موضوع‌ها: 17
تاریخ عضویت: اردیبهشت ۱۳۹۰

تشکرها : 479
( 298 تشکر در 111 ارسال )
ارسال: #15
RE: نحوه چيدمان ارتباطي چند ميكرو
سلام بر همگي
يه مدار با يه مستر و دو اسليو

کد:
'master
$regfile = "m8def.dat"
$crystal = 4000000

$hwstack = 100
$swstack = 30
$framesize = 40

config portb.2 = output
config portb.1 = output
config portc = output

config lcd = 20 * 4
config lcdpin = pin , db4 = pinc.2 , db5 = pinc.3 , db6 = pinc.4 , db7 = pinc.5 , e = pinc.1 , rs = pinc.0

Config Spi = Hard , Interrupt = on , Data Order = lsb , Master = yes , Polarity = high , Phase = 0 , Clockrate = 128 , noss = 1
Spiinit
enable spi

Dim a As Byte , b as Byte , c as byte , g as Byte , h as Byte

Do
reset portb.2
a = Spimove(h)
set PORTB.2
waitms 100
reset PORTB.1
b = spimove(g)
set portB.1

decr c
cls
locate 1 , 10
lcd a
locate 2 , 10
lcd c
locate 3 , 10
lcd b
Loop
end

کد:
' slave 1
$regfile = "m32def.dat"
$crystal = 4000000

$hwstack = 200
$swstack = 40
$framesize = 50

config portb.4 = input

Config Spi = Hard , Interrupt = on , Data Order = lsb , Master = No , Polarity = high , Phase = 0 , Clockrate = 128 , noss = 0


Dim a As Byte , h as Byte

Do
waitms 400
Spiinit
enable spi
a = spimove(h )
decr h
Loop
end

کد:
slave 2
$regfile = "m32def.dat"
$crystal = 4000000

$hwstack = 200
$swstack = 40
$framesize = 50

config PORTB.4 = input

Config Spi = Hard , Interrupt = on , Data Order = lsb , Master = No , Polarity = High , Phase = 0 , Clockrate = 128 , noss = 0

Dim B As Byte , g as Byte

Do
waitms 400
Spiinit
enable spi
b = Spimove(g)
incr g
Loop
end

دوستان خواهش ميكنم به مدار نگاهي بندازيد
تو پروتئوس تقريبا خوبه ولي تو مدار عدد ارسالي هر اسليو درسته ولي با صفر همراهه يعني مثلا 100 ميلي ثانيه عدد را نشون ميده و بقيه زمان تا عدد بعدي صفر را
چرا تو پروتئوس اين همه خطا ميده مربوط به سرعته كه نوشته اطلاعات از دست ميره يا بخاطر lcd هست ؟


فایل‌(های) پیوست شده بندانگشتی (ها)
   

كسي را كه آماده آموختن است تعليم ندادن، انساني را به هدر دادن است، كسي را كه آماده آموختن نيست تعليم دادن، سخن به هدر دادن است، خردمند نه انسان را به هدر مي دهد و نه سخن را

وبلاگ خودموني
۲۳-تير-۱۳۹۰, ۲۱:۴۷:۳۴
وب سایت ارسال‌ها
پاسخ
reza555 غایب
مدیر بازنشسته
*****

ارسال‌ها: 1,073
موضوع‌ها: 17
تاریخ عضویت: شهریور ۱۳۸۸

تشکرها : 3779
( 3261 تشکر در 1342 ارسال )
ارسال: #16
RE: نحوه چيدمان ارتباطي چند ميكرو
برای پروتئوس و بسکام اول برنامه از این استفاده کنید
کد:
$Sim

زندگی مدیریت فرصت هاست.
۲۴-تير-۱۳۹۰, ۲۰:۲۴:۳۷
ارسال‌ها
پاسخ
تشکر شده توسط : salehjg, rdscience, رسول
rdscience آفلاین
كاربر دو ستاره
**

ارسال‌ها: 183
موضوع‌ها: 17
تاریخ عضویت: اردیبهشت ۱۳۹۰

تشکرها : 479
( 298 تشکر در 111 ارسال )
ارسال: #17
RE: نحوه چيدمان ارتباطي چند ميكرو
درود بر دوستان و تشكر از صالح جان و رضاجان
كل مدار را با كليه امكانات مونتاژ كردم ( پست دوم ) و سعي در تكميل برنامه نوشته شده براي آنها دارم
براي برقراري ارتباط بين مستر و اسليو ، هنگامي كه مستر براي اولين بار به خط زير ميرسه متوقف ميشه يعني رو lcd اعداد متوقف ميشن و به خط بعدي نمي رود
کد:
reset ss1
y=spimove(x) ميكرو مستر در اين خط متوقف ميشه
set ss1
يعني وقتي خط وسطي را پاك ميكنم ss1 بين 0و1 چرخش ميكنه و ادامه برنامه ...
رجيسترهاي interrupt = , DATA ORDER , POLARITY را هم تك به تك و در مستر و در اسليو تغيير داده ام اما نشد!!
از sim$ هم استفاده كردم اما با توجه به
کد:
: $SIM >دستور
هنگامی که اين دستور را در برنامه به کار ببريد ، کليه دستورات تاخير غير فعال ميشوند ، اين دستور هنگامی که از شبيه ساز داخلی
بسکام استفاده ميکنيد کار برد دارد ، هنگامی که ميخواهيد برنامه را روی ميکرو بريزيد يا ان را با پروتوس شبيه سازی کنيد اين
دستور را پاک کنيد.
روي برد موجب شد كه ميكرو از كار بيفته و lcd دو خط ممتد مشكي را نشان دهد
هر ترفندي كه به نظرم ميومد اجرا كردم
مدار در برد را هم چك كردم و حتي پايه هاي spi را هم جدا كردم و ...
به نظرتان گير برنامه چيه ؟

كسي را كه آماده آموختن است تعليم ندادن، انساني را به هدر دادن است، كسي را كه آماده آموختن نيست تعليم دادن، سخن به هدر دادن است، خردمند نه انسان را به هدر مي دهد و نه سخن را

وبلاگ خودموني
۲۹-تير-۱۳۹۰, ۱۴:۱۸:۴۰
وب سایت ارسال‌ها
پاسخ
salehjg آفلاین
مدیر بخش
*****

ارسال‌ها: 1,281
موضوع‌ها: 133
تاریخ عضویت: آذر ۱۳۸۸

تشکرها : 9560
( 8557 تشکر در 2603 ارسال )
ارسال: #18
RE: نحوه چيدمان ارتباطي چند ميكرو
(۲۹-تير-۱۳۹۰, ۱۴:۱۸:۴۰)rdscience نوشته است: درود بر دوستان و تشكر از صالح جان و رضاجان
كل مدار را با كليه امكانات مونتاژ كردم ( پست دوم ) و سعي در تكميل برنامه نوشته شده براي آنها دارم
براي برقراري ارتباط بين مستر و اسليو ، هنگامي كه مستر براي اولين بار به خط زير ميرسه متوقف ميشه يعني رو lcd اعداد متوقف ميشن و به خط بعدي نمي

روی مدار؟ یا روی پروتئوس؟

شما ی بار هم با spi نرم افزاری امتحان کنید.
کلا بیسیک اینه دیگه!
۲۹-تير-۱۳۹۰, ۱۴:۵۳:۵۷
وب سایت ارسال‌ها
پاسخ
تشکر شده توسط : rdscience
rdscience آفلاین
كاربر دو ستاره
**

ارسال‌ها: 183
موضوع‌ها: 17
تاریخ عضویت: اردیبهشت ۱۳۹۰

تشکرها : 479
( 298 تشکر در 111 ارسال )
ارسال: #19
RE: نحوه چيدمان ارتباطي چند ميكرو
spi را نرم افزاري پيكره بندي كردم درست شد !! Clap
فعلا برنامه را تو مدار تست ميكنم چون تايمر تو پروتئوس خطا داره
كسي تابحال اين اتفاق در پست قبليم براش افتاده ؟ آيا راه حلي هم براش پيدا كرده ؟ چون تمام ميكروها را سخت افزاري پيكره بندي كردم مايلم در مستر هم اين روال پيش بره
ببخشيد دوباره اين سوال را مي پرسم ، چون هنوز برام مبهمه:
منظور از تعداد بايتي كه بعد از متغير در spi مي آيد چيست ؟ مثلا اگه يه متغير سينگل بخواهيم بفرستيم چطوري تعداد بايت را بدست بياريم و بنويسيم ؟

كسي را كه آماده آموختن است تعليم ندادن، انساني را به هدر دادن است، كسي را كه آماده آموختن نيست تعليم دادن، سخن به هدر دادن است، خردمند نه انسان را به هدر مي دهد و نه سخن را

وبلاگ خودموني
(آخرین ویرایش در این ارسال: ۲۹-تير-۱۳۹۰, ۱۶:۴۶:۳۰، توسط rdscience.)
۲۹-تير-۱۳۹۰, ۱۶:۳۷:۲۲
وب سایت ارسال‌ها
پاسخ
تشکر شده توسط : salehjg
hojjatalavi آفلاین
تازه وارد

ارسال‌ها: 1
موضوع‌ها: 0
تاریخ عضویت: خرداد ۱۳۹۱

تشکرها : 0
( 0 تشکر در 0 ارسال )
ارسال: #20
RE: نحوه چيدمان ارتباطي چند ميكرو
سلام و درود
مشکل این هست که b.4 هم در پینهای lcd بکار رفته و هم در spi
۲۴-شهریور-۱۳۹۵, ۱۴:۵۰:۳۸
ارسال‌ها
پاسخ


پرش به انجمن:


کاربرانِ درحال بازدید از این موضوع: 1 مهمان

صفحه‌ی تماس | IranVig | بازگشت به بالا | | بایگانی | پیوند سایتی RSS